我有两个模型。
var self = {
User: sequelize.define('user', {
id: {type: Sequelize.INTEGER,primaryKey: true,autoIncrement: true},
name: {type: Sequelize.STRING,allowNull: false}
}),
Role: sequelize.define('role', {
id: {type: Sequelize.INTEGER,primaryKey: true,autoIncrement: true},
name: {type: Sequelize.STRING,allowNull: false}
})
}
我还指定了它们之间的关联。
self.User.belongsTo(self.Role);
控制器 user.js 的一部分:
list: function(req, res){
models.User.findAll({offset: offset, limit: limit}).success(function (users) {
if (req.params.format == 'html') {
res.render('admin/user/list.html', {
title: 'Users',
layout: layout,
users: users
});
} else if (req.params.format == 'json') {
res.json(users);
}
}
在视图 list.html 中:
<% users.forEach(function(user){ %>
<tr>
<td><%= user.id %></td>
<td><a href="/admin/user/<%= user.id %>/show.html"><%= user.name %></a></td>
<td><%= user.getRole().name %></td>
</tr>
<% } %>
如果我们调用 /list.html,我们会在页面上为每个用户获取未定义的角色。
如果我们调用 /list.json 我们会得到:
[{"id":1,"name":"user1", "role_id":1},
[{"id":2,"name":"user2", "role_id":1},
[{"id":3,"name":"user3", "role_id":2},
...
如何在 list.html 和 json 响应中获取每个用户的角色?或者也许有更好的方法?
谢谢。