【发布时间】:2012-02-13 17:25:17
【问题描述】:
我在 form_for 中有以下内容:
= form_for @activity do |f|
.field
= label :comment, :comment
= text_area :comment, :comment, :rows => 4
我没有调用 f.label 或 f.text_area,因为注释是一个单独的模型,我将它单独保存。上面的代码可以正常工作,但是当@activity 上的验证失败时,评论就会被删除。我希望在@activity 验证失败时重新填充评论字段,因此我尝试了以下操作:
= form_for @activity do |f|
.field
= label :comment, :comment
= text_area :comment, :comment, :value => @comment, :rows => 4
在控制器动作中使用这一行:
@comment = Comment.new(params[:comment][:comment])
但是,我收到以下错误:
undefined method `stringify_keys' for "hello":String
上面显示的控制器中的@comment 分配失败。
这是怎么回事?
错误后的参数包含以下内容:
"comment"=>{"comment"=>"hello"}
【问题讨论】:
标签: ruby-on-rails forms