我正在尝试建立一个可以发布食谱的网站。我不确定如何设置模型和控制器。对于我的数据库,我想将其设置为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_titlepost_description等。
Post.create的回调中,创建Ingredient


对于post_category,如果要将其存储在其他模型中,则类似。根据您的代码,它看起来是Post模型的一部分。

关于mysql - 尝试在Sails.js中发布食谱,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42043089/

10-09 03:04