2

多くの投稿があるページがあり、各投稿にはコメントのリストがあります。リストの最後には、ユーザーがコメントを追加するためのフォームがあります。一度に送信できるコメントは 1 つだけです。

次のようなもので逃げることはできますか:

form for @comment
...
form for @comment

または、各フォームが個別のオブジェクト用であることを明確に確認する必要がありますか? すなわち

form for @comment1
...
for for @comment2

後者の場合、メイン ページのコントローラにページ上のすべての投稿に対して 1 つのコメント オブジェクトを作成させるにはどうすればよいですか?

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 に答える