Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用RubyonRails访问隐藏字段中使用的表单值_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 使用RubyonRails访问隐藏字段中使用的表单值

Ruby on rails 使用RubyonRails访问隐藏字段中使用的表单值,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有三个选择的生日标签(日/月/年),看起来像这样: <td><%= select_tag(:birth_day, options_for_select((1..31)), {:id => 'select1'}) %></td> 'select1})%> 我试图访问这三个值并将它们组合成一个字符串,然后使用隐藏字段提交该字符串。我不知道如何获取值以将其读入隐藏字段 现在我最好的尝试是: <%= f.hidden_field :combined

我有三个选择的生日标签(日/月/年),看起来像这样:

<td><%= select_tag(:birth_day, options_for_select((1..31)), {:id => 'select1'}) %></td> 
'select1})%>
我试图访问这三个值并将它们组合成一个字符串,然后使用隐藏字段提交该字符串。我不知道如何获取值以将其读入隐藏字段

现在我最好的尝试是:

<%= f.hidden_field :combined_date, :value => "#{@birth_day}" %>
“{@birth\u day}”%>
但是出生日只是一条空线。(我计划在获取要读取的值后,将此字符串与birth_month和birth_year组合在一起)


有人能帮我解决这个问题吗?

为什么不在保存记录时合并它们呢

在控制器中:

combined_date: (params[:day]+"/"+params[:month]+"/"+params[:year]).to_date
@record.save

这并不优雅,但至少您不需要使用javascript在客户端不必要地将它们组合起来。

您需要使用javascript在选择这三个
选项时设置
combined\u date
的值。但是,这可能不是必需的,因为您可以在Rails模型中组合这三个字段,如果需要,可以填充
combined\u date
属性。顺便问一下,这些属性中的哪一个是数据库列?组合的隐藏字段值\u date将插入数据库验证模型中的三个属性,然后在before\u save回调上使用这三个属性构造日期对象。