form_for([@post, @post.comments.build])の[@post, @post.comments.build]と引数が二つある時は何を意味しているのでしょうか?
postとcommnetは1:nの関係です。
<%= form_for @post do |f| %>で、新規作成か編集なのかを判断してくれるのはわかっているのですが、このように引数が二つあると意味がわかりません。(このような例です)
<%= form_for([@post, @post.comments.build]) do |f| %> <%= f.label :name %><br> <%= f.text_field :name %><br> <br> <%= f.label :body %><br> <%= f.text_area :body %><br> <br> <%= f.submit %> <% end %>
また、コメントコントローラーで
def create @post = Post.find(params[:post_id]) @comment = @post.comments.create(comment_params) redirect_to post_path(@post) end
としているのですが、
<%= form_for([@post, @post.comments.create]) do |f| %> とか <%= form_for([@post, @comment]) do |f| %>
でははなぜいけないのでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。