我正在尝试建立一个可以发布食谱的网站。我不确定如何设置模型和控制器。对于我的数据库我想将它设置为post_title,post_description是一个表。 post_category另一个表,和第三个表的成分。如何设置它在提交表单时会转到所有这些表。 (我更像是一个试图学习后端东西的前端人物)。我当然可以在一个模型中轻松完成此操作但是如何将其拆分。我相信一对多的关系,但他们有点困惑我。我正在使用sailsjs与mysql。任何帮助都会受到极大的关注。
这是我现在的帖子模型。
module.exports = {
attributes: {
post_title: {
type: 'string',
required: true
},
post_description: {
type: 'string',
required: true
},
post_category: {
type: 'string',
required: true
},
}
};
和我的表格
<form action="/post/create" method="post" class="register-form" enctype="multipart/form-data">
<label>Title</label>
<input name="post_title" style="width: 40em;" class="form-control" type="text">
<label>Description</label>
<textarea class="form-control" name="post_description" style="width: 40em; height: 10em"></textarea>
<label>Category</label>
<select name="post_category" class="form-control" style="width: 40em;">
<option value=""></option>
<option value="oven">Oven</option>
<option value="no_bake">No Bake</option>
<option value="bbq">Bbq</option>
<option value="slow_cook">Slow Cooker</option>
</select>
<label>Ingredient 1</label>
<input name="ingredient_1" style="width: 40em;" class="form-control" type="text">
<label>Ingredient 2</label>
<input name="ingredient_2" style="width: 40em;" class="form-control" type="text">
<input type="submit" class="btn btn-default " value="Submit Post">
</form>
和我的创作
create: function (req, res, next) {
Post.create( req.params.all(), function postCreated(err, post) {
if (err) return next(err);
res.redirect('/post/show/' + post.id);
});
},
答案 0 :(得分:0)
在控制器中:
Post
的参数创建Post
,即post_title
,post_description
等。Post.create
的回调中,创建Ingredient
同样适用于post_category
,如果它要存储在不同的模型中。根据您的代码,它看起来是Post
模型的一部分。