我有一个包含很多帖子的页面,每个帖子都有一个评论列表。列表末尾是用户添加评论的表单。一次只能提交一条评论。
我可以通过以下方式逃脱:
form for @comment
...
form for @comment
或者我是否需要专门确保每个表单都用于单独的对象?即
form for @comment1
...
for for @comment2
如果是后者,如何让主页面的控制器为页面上的每个帖子创建一个评论对象?
答案 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来实现此目的。