试图在sailsjs中制作食谱

时间:2017-02-04 17:05:09

标签: mysql model controller sails.js backend

我正在尝试建立一个可以发布食谱的网站。我不确定如何设置模型和控制器。对于我的数据库我想将它设置为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);
    });
  },

1 个答案:

答案 0 :(得分:0)

在控制器中:

  1. 使用属于Post的参数创建Post,即post_titlepost_description等。
  2. Post.create的回调中,创建Ingredient
  3. 同样适用于post_category,如果它要存储在不同的模型中。根据您的代码,它看起来是Post模型的一部分。