Rails中同一页面上同一对象类的不同实例的多个表单

时间:2013-03-19 07:37:45

标签: ruby-on-rails forms

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

我可以通过以下方式逃脱:

form for @comment
...
form for @comment

或者我是否需要专门确保每个表单都用于单独的对象?即

form for @comment1
...
for for @comment2

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

2 个答案:

答案 0 :(得分: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 %>

答案 1 :(得分:0)

您可以使用Nested model form来实现此目的。