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
是保存注释文本的属性)。