Créer votre première application CouchDB (Partie 4)
Par Nicolas Steinmetz. mercredi 6 janvier 2010, 21:58. CouchDB couchdb | Lien permanent.
Pour ceux qui utiliserait le code mis dans les exemples, sachez qu'à partir de la version 0.10, le contenu du fichier lists/all.js qui s'écrivait :
function(head, row, req, info) { // !json templates.all // !code vendor/couchapp/path.js // !code vendor/couchapp/template.js return respondWith(req, { html : function() { if (head) { return template(templates.all.head, { assets : assetPath(), }); } else if (row) { return template(templates.all.row, { fav: row.value, }); } else { return template(templates.all.tail, { assets : assetPath(), }); } }, }) };
s'écrit désormais :
function(head, req) { // !json templates.all // !code vendor/couchapp/path.js // !code vendor/couchapp/date.js // !code vendor/couchapp/template.js // !json myfav provides("html", function() { send(template(templates.all.head, { assets : assetPath(), title : myfav.title, })); var row, key; while (row = getRow()) { key = row.key; var fav = row.value; send(template(templates.all.row, { url: fav.url, title: fav.title, description: fav.description, })); } return template(templates.all.tail, { assets : assetPath(), }); }); };
et bien sur templates/all/row.html devient :
<dt><a href="<%= url %>"><%= title %></a></dt> <dd><%= description %></dd>
Au passage, il m'a fallu récupérer la nouvelle version de vendor/couchapp/path.js.
Pour ceux que ça intéresse, le code est disponible ici : http://bitbucket.org/nsteinmetz/mycouchfav/.
Pour ceux qui veulent voir le rendu :
- Show du document "couchdbkit" : http://nsteinmetz.cloudant.com:5984/mycouchfav/_design/mycouchfav/_show/fav/couchdbkit
- List all favs : http://nsteinmetz.cloudant.com:5984/mycouchfav/_design/mycouchfav/_list/all/favs
Voilà, c'était histoire de me remotiver dans cette prise en main de CouchDB/CouchApp - peut-être que la prochaine fois, on verra un formulaire de soumission de favoris... 