Ruby on rails ';将U键和x27字符串化;尝试使用表单字段时出错
我在表格_中有以下内容:Ruby on rails ';将U键和x27字符串化;尝试使用表单字段时出错,ruby-on-rails,forms,Ruby On Rails,Forms,我在表格_中有以下内容: = form_for @activity do |f| .field = label :comment, :comment = text_area :comment, :comment, :rows => 4 我没有调用f.label或f.text_区域,因为注释是一个单独的模型,我单独保存它。上面的代码工作正常,但是当@activity上的验证失败时,注释将被删除。我希望在@activity验证失败时重新填充注释字段,因此我
= form_for @activity do |f|
.field
= label :comment, :comment
= text_area :comment, :comment, :rows => 4
我没有调用f.label或f.text_区域,因为注释是一个单独的模型,我单独保存它。上面的代码工作正常,但是当@activity上的验证失败时,注释将被删除。我希望在@activity验证失败时重新填充注释字段,因此我尝试了以下方法:
= form_for @activity do |f|
.field
= label :comment, :comment
= text_area :comment, :comment, :value => @comment, :rows => 4
"comment"=>{"comment"=>"hello"}
在控制器操作中使用此行:
@comment = Comment.new(params[:comment][:comment])
但是,通过此操作,我得到以下错误:
undefined method `stringify_keys' for "hello":String
上面我展示的控制器中的@comment赋值失败
这是怎么回事
错误后的参数包含以下内容:
= form_for @activity do |f|
.field
= label :comment, :comment
= text_area :comment, :comment, :value => @comment, :rows => 4
"comment"=>{"comment"=>"hello"}
问题是,
Comment#new
需要一个哈希值,其键对应于Comment的属性,但您给它的是参数[:Comment][:Comment]
,其值是字符串(在本例中,“hello”
)。我怀疑这正是你想要的:
@comment = Comment.new params[:comment]
问题是,
Comment#new
需要一个哈希值,其键对应于Comment的属性,但您给它的是参数[:Comment][:Comment]
,其值是字符串(在本例中,“hello”
)。我怀疑这正是你想要的:
@comment = Comment.new params[:comment]
当我这样做时,注释会重新填充“#”对不起,当活动验证失败并且表单重新呈现时,注释字段会有“#”哦,这是因为您有
text\u区域…,:value=>@comment,
,并且@comment
包含注释对象,而不是注释的文本。尝试:value=>@comment.comment
(假设comment
是保存注释文本的属性)。当我这样做时,注释会重新填充“#”对不起,当活动验证失败并且表单重新呈现时,注释字段会有“#”哦,这是因为您有text\u区域…,:value=>@comment,…
,而@comment
包含注释对象,而不是注释的文本。尝试:value=>@comment.comment
(假设comment
是保存注释文本的属性)。