我正在尝试建立一个可以发布食谱的网站。我不确定如何设置模型和控制器。对于我的数据库,我想将其设置为post_title,post_description是一个表。 post_category另一个表,第三个表。如何设置提交表单时将其转到所有这些表的位置。 (我更多是试图学习后端东西的前端人员)。我当然可以在一个模型中轻松地做到这一点,但是我如何拆分它。我确定一对多的关系,但它们让我有些困惑。我在MySQL中使用sailsjs。任何帮助将不胜感激。
这是我到目前为止的帖子模型。
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);
});
},
最佳答案
在控制器中:
使用属于Post
的参数创建Post
,即post_title
,post_description
等。
在Post.create
的回调中,创建Ingredient
对于post_category
,如果要将其存储在其他模型中,则类似。根据您的代码,它看起来是Post
模型的一部分。
关于mysql - 尝试在Sails.js中发布食谱,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42043089/