как ссылаться на вложения элементов базы данных в CouchApp

Я изучаю CouchApp, и мне кажется, что запрашивать элементы базы данных довольно просто.

Но у меня есть элементы с вложениями, и я хотел бы добавить гиперссылки на вложения:

 <a href="/databasename/{{id}}/{{attachment}}">{{description}}</a>

Я могу правильно настроить id, attachment и description, но как мне получить текущее имя базы данных (или URL-адрес) из функции javascript CouchApp?


person Jason S    schedule 17.11.2011    source источник
comment
Поместите его в переменную или используйте относительные пути.   -  person Marcello Nuccio    schedule 18.11.2011
comment
как вы поместите его в переменную? откуда вы это берете?   -  person Jason S    schedule 18.11.2011
comment
Это зависит от вашего приложения... например, вы можете получить его, проанализировав путь в расположение окна. Или, как я уже сказал: используйте относительные URL-адреса.   -  person Marcello Nuccio    schedule 18.11.2011


Ответы (1)


Если вы не хотите использовать относительные URL-адреса, вы можете получить имя базы данных следующим образом:

var dbname = unescape(document.location.href).split('/')[2]

так как ваш href выглядит так: http://host:port/dbname/doc...

Это также код, который использует jquery.couch.app.js. Поэтому, если вы его используете, он доступен для вас в коде инициализации:

$.couch.app(function(app) { alert(app.db.name); });
person Bartosz    schedule 20.11.2011
comment
круто, я попробую (возможно, сохраните его в переменной состояния или что-то в этом роде для функций, которые не имеют app в качестве входного параметра) - person Jason S; 21.11.2011