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 :
javascript
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 :
javascript
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... 