无法使用derbyjs在视图中显示文档列表
这是我第一次与derbyjs,不知道我是愚蠢的还是缺乏文档。 我有一个名为“书”的模型,我只是想显示书的名单。
这里是我的代码:
module.exports = { properties: { title: {type: 'string', minLength: 6}, author: {type: 'integer', minimum: 0}, image: {type: 'string'}, status: {type: 'integer', minimum: 0, maximum: 1}, // 1 read, 0 wants to read comment: {type: 'string'} }, required: ['title'] }
和架构列表
module.exports = { schemas: { auths: require('./model/auths'), products: require('./model/products'), books: require('./model/books') } }
指数js
app.get('/shelf', function(page, model, params, next){ model.subscribe('books', function(){ var book = model.at('books.669374b5-8470-4f3a-a25f-0995a5a92a7a'); model.ref('_page.book', book); page.render('home'); }); });
我期望在书中有“书”,所以我这样写了{{each}}
{{ each books as #b}} {{ #b.title }} {{/each}}
但没有显示,虽然这工作正常,并按预期呈现
{{ _page.book.title }}
也在Web控制台,这工作正常,并显示3本书
app.model.get('books')
注意:我通过Web控制台添加了书籍,就像这样
app.model.add('books', {title: 'something'})
在订阅function里面,我试过了
var books = model.get('books'); model.ref('_page.books', books);
但是错误上升了
任何想法我做错了什么? 我真的很喜欢derbyjs,但是这让我失望了几天
如果你想要页面自动更新,你应该使用ref
而不是get()
但是,例如
app.get('/shelf', function(page, model, params, next) { var booksQuery = model.query('books', {}); model.subscribe(booksQuery, function(err) { booksQuery.ref('_page.books'); page.render('books'); }); });
模板:
{{ each _page.books as #b}} {{ #b.title }} {{/each}
除了官方的德比文档,我发现德比常见问题是一个很好的资源。