此示例显示如何为关联模型“注释”创建表单,其中“注释”属于“发布”和“发布has_many”注释 .
http://edgeguides.rubyonrails.org/getting_started.html#generating-a-controller
我如何修改它以显示表单中的所有注释,并仍然让它调用CommentsController(而不是让表单调用PostsController,如此处的示例http://railscasts.com/episodes/17-habtm-checkboxes)?
谢谢
UPDATE:
要问一个不同的方法:使用多态关联,如果照片和文章每个'has_many'评论,评论表格应该调用CommentsController,如图所示http://railscasts.com/episodes/154-polymorphic-association - 但是如果我在一个表格中为给定的照片编辑多个评论怎么办?在这种情况下,表单是否仍然会调用CommentsController,还是最好调用PhotoController?
1 回答
这是更新的答案:
我仍然使用
CommentsController
来完成评论的所有更新 . 除非您同时编辑帖子及其评论 . 既然你发表了评论,那么你可以做的只是POST
这些评论控制器中的一个动作 . 在您的视图中,为每个评论创建一个包含fields_for
的表单 .然后,他们都可以在
CommentsController
中发布update_multiple
(或类似命名的东西)动作 . 这只是接受params哈希并正确解析它的问题 .在你的模型中(通过在事务中完成所有操作,使其更加健壮,所以如果一个失败,那么它们都不会更新 . 嗯,这真的取决于你):