如何为特定帖子创建评论?

时间:2019-06-23 14:26:26

标签: ruby-on-rails

我正在制作一个博客,我想了解#code的实际含义

@post = Post.find(params[:post_id])
@comment = @post.comments.create(comments_params)

1 个答案:

答案 0 :(得分:0)

答案可能取决于您所关注的任何教程,但是幸运的是,一旦您了解了基础知识,Ruby和Rails就很容易阅读。

@post = Post.find(params[:post_id])意味着@post(将保留您帖子的实例变量)应设置为{=){ {1}}首先将Post字段与find字段中的值与传递到此控制器的参数中的值相匹配的条目。

id意味着应将实例变量post_id设置为在@comment = @post.comments.create(comments_params)对象上运行@comment方法时返回的值的{=您刚刚创建的。也就是说,代码采用comments.create对象并在其上运行@post方法,以便创建的注释将具有与该帖子相同的ID(即,将其链接到数据库中)。注释记录的其他部分(例如注释本身的文本)将从@post变量中获取,该变量将是您之前在行中使用的comments.create变量的过滤版本-外观用于名为comments_params的私有函数,该函数声明params中的哪些字段可以传递到创建的注释中。 (这是Rails的所谓“强大参数”功能,可让您确保用户不要试图通过代码偷偷摸摸地捣乱应用程序。)

如果您想了解有关参数和对象的更多信息,请查看使用comments_params或通过调试参数在应用程序中传递的内容(将代码params放在应用程序布局上以查看每个页面上都有很多有趣的值。