params [:comment]作者给出的评论?

时间:2012-07-06 08:42:38

标签: ruby ruby-on-rails-3

我想了解作者给出的评论:评论,从这种形式来到控制器

    <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

作者给出的评论?他怎么能在没有声明的情况下收到呢?

1 个答案:

答案 0 :(得分:1)

因为form_for正在类Comment的对象上运行,所以字段的生成名称命名为params[:comment]中的参数。

您可以通过将:as选项传递给form_for来更改此设置,但通常不需要这样做。