rails的Action中传参数一个易错之处

被一段代码搞了半天,发现是有个地方多加了一个@符号!


错误代码如下:

def create
    params.permit!
    @post = Post.find(params[:post_id])
    @comment = @post.comments.new(params[:@comment])
    @comment.save
    redirect_to @post #if @comment.save
  end


错误之处在于:

服务器端的信息如下:

Parameters: {"utf8"=>"✓", "authenticity_token"=>"u+73L0pmhP7h5mEKAOEkUsbtxx3e0o0NezFZmio98Wo=", "comment"=>{"content"=>"fgfsg"}, "commit"=>"Add new Comment", "post_id"=>"1"}


可见对于comment的内容,应该用paranms[:comment]将其取出来。


去掉hash中那个@符号即可  

你可能感兴趣的:(Ruby)