解析rails中的表单隐藏字段

Posted

技术标签:

【中文标题】解析rails中的表单隐藏字段【英文标题】:parse form hidden field in rails 【发布时间】:2013-06-10 19:45:31 【问题描述】:

在 form_for 表单中我有一个隐藏标签

<%= hidden_field_tag :receiver, :value => @post.user.email  %>

但是当表单提交时,参数看起来像这样:

"utf8"=>"✓",  "receiver"=>":value=>\"test@gmail.com\"", "message"=>"name"=>"asdfasf",...

我想从我的控制器中的参数中提取 test@gmail.com,如下所示:

  @string = params[:receiver]

然后将其传递给我的邮件。

有没有办法将 params[:receiver] 转换为只检索值而不是哈希?

【问题讨论】:

是的,@string = params[:receiver][:value](警告:如果params[:receiver] 不是哈希,则会引发错误) 【参考方案1】:

将隐藏的输入更改为:

<%= hidden_field_tag :receiver, @post.user.email  %>

文档:http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-hidden_field_tag

【讨论】:

以上是关于解析rails中的表单隐藏字段的主要内容,如果未能解决你的问题,请参考以下文章

Rails 表单,如何使用 jquery 设置隐藏字段的值

Rails - 更新单个属性:与自定义操作或带有隐藏字段的表单链接?

Rails,使用隐藏字段设置用户角色

通过隐藏字段将数组传递给rails

在编辑表单上隐藏 Rails 4 上 jquery.timepicker 的空日期值

如何在另一个控制器的上下文中使用rails form partial而不将ID作为隐藏字段传递