【发布时间】:2015-08-13 19:45:11
【问题描述】:
我在 Rails 中的视图中有以下表单
<%= form_for (@account) do |f| %>
<%= f.label :comments,"Comments" %>
<%=f.text_area :comments %>
<%= f.submit "Confirm",:name=>"conf" %>
<%= f.submit "Reject" %>
<% end %>
当我提交表单时,我在更新数据库之前的日志中得到以下哈希
Started PATCH "/accounts/12" for 127.0.0.1 at 2015-08-13 21:31:18 +0200
Processing by UseractionsController#answer_with_comments as HTML
Parameters: {"utf8"=>"✓", "account"=>{"comments"=>"mycomments"}, "conf"=>"Confirm", "id"=>"12"}
我正在尝试访问控制器中 cmets 文本区域中的输入。我试过了
params[:account][:comments]
但它似乎不起作用。谁能给我适当的语法?谢谢。
编辑
这是我的控制器代码。现在 if 循环返回 false 并且没有任何内容添加到数据库中,即使提交了某些内容(“mycmets”参见上面的参数嵌套哈希)
if params[:bankaccount][:comments]
@bankaccount.update_attribute(:comments, params[:bankaccount][:comments])
end
【问题讨论】:
-
请解释当您尝试执行此操作时会发生什么
params[:account][:comments]不会得到mycomments作为输出。也分享你的动作控制器代码。 -
你可能想试试
params['account']['comments'](哈希的键是字符串而不是符号)
标签: ruby-on-rails forms parameter-passing strong-parameters