【发布时间】:2015-06-04 14:02:10
【问题描述】:
我正在学习 Javascript、Node 和 Sails,并且有一个基本的新手(我认为)问题,我在其他地方找不到答案。
在控制器中,我试图访问特定的模型属性,然后创建一个数组,其中包含每个单独的条目以在视图中使用。虽然我可以在菜单/索引视图中访问模型中的记录,但我似乎无法直接在模型中使用任何特定属性。
这是有问题的控制器代码:
var MenuController = module.exports = {
manager: function(req, res) {
var userId = req.session.user.id;
sails.log("Searching for foods for user: "+ userId);
Menu.find({ where: { userId: { equals: userId }}}).exec(function(err, records) {
if(records && records.length == 0) {
sails.log("No foods found for user: " + userId);
sails.log(err);
return res.view("menu/index");
} else {
var foodCategories = records.food_category;
sails.log(foodCategories);
var array = foodCategories.split(',');
var foodCatArray = [];
for (i = 0; i < array.length; i++) {
foodCatArray.push(array[i].toUpperCase());
var uniqueCats = foodCatArray.filter(function (item, i, ar) {
return ar.indexOf(item) === i;
});
var sortedCats = uniqueCats.sort();
sails.log(sortedCats);
}
return res.view("menu/index", {foods: records, sortedCats: sortedCats});
}
});
},
这是有问题的模型:
var Menu = module.exports = {
attributes: {
userId: {
required: true,
type: 'integer',
min: 1
},
food_category: {
type: "string",
required: false,
min: 1,
max: 200
},
food_name: {
type: "string",
required: true,
min: 1,
max: 200
},
food_cost: {
type: "string",
required: true,
min: 1,
max: 10
},
food_description: {
type: "string",
required: true
},
img_path: {
type: "string",
required: true
},
img_name: {
type: "string",
required: true
},
img_name_crypt: {
type: "string",
required: true
}
}
};
现在这一行:
var foodCategories = records.food_category;
当我加载菜单/索引视图时,在我的 Sails 日志中创建一个未定义的值。有人能指出我正确的方向吗?
【问题讨论】:
标签: javascript node.js model controller sails.js