我想了解作者给出的评论:评论,从这种形式来到控制器
<h2>Add a comment:</h2>
<%= form_for([@post, @post.comments.build]) do |f| %>
<p>
<%= f.label :commenter %><br />
<%= f.text_field :commenter %>
</p>
<p>
<%= f.label :body %><br />
<%= f.text_area :body %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
课程和行动是
class CommentsController < ApplicationController
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.create(params[:comment])
redirect_to post_path(@post)
end
end
作者给出的评论?他怎么能在没有声明的情况下收到呢?
答案 0 :(得分:1)
因为form_for
正在类Comment的对象上运行,所以字段的生成名称命名为params[:comment]
中的参数。
您可以通过将:as
选项传递给form_for
来更改此设置,但通常不需要这样做。