2

我有一个包含许多帖子的页面,每个帖子都有一个评论列表。列表末尾是供用户添加评论的表单。一次只能提交一条评论。

我可以逃脱类似的事情:

form for @comment
...
form for @comment

还是我需要特别确保每个表格都针对一个单独的对象?IE

form for @comment1
...
for for @comment2

如果是后者,如何让主页的控制器为页面上的每个帖子创建一个评论对象?

4

2 回答 2

1

你需要这样的东西

<% @posts.each do |post| %>

...

  <%= form_for post.comments.build do |f| %>
    <%= f.hidden_field :post_id %>
    ...
  <% end %>
<% end %>

或者,如果您在路线中使用嵌套资源

<% @posts.each do |post| %>

...

  <%= form_for [post, Comment.new] do |f| %>
    ...
  <% end %>
<% end %>
于 2013-03-19T08:11:58.433 回答
0

为此,您可以使用嵌套模型表单。

于 2013-03-19T08:41:34.063 回答