我有一个隐藏字段的表单:
<%= f.hidden_field(:equipment_id, :value => " ") %>
此字段的值通过js提交。所以我生成的html看起来像这样:
<input value="2" type="hidden" name="programm[equipment_id]" id="programm_equipment_id">
当我提交表单时,我的参数如下所示:
"programm"=>{
.. some other params ..,
"equipment_id"=>"2"
}
在我的控制器的create方法中,我尝试将equipment_id参数分配给@ programm.equipment_id:
@programm.equipment_id = params[:programm => :equipment_id ]
像那样。其中equipment_id是数据库中的整数列。 问题是没有任何东西被分配。如果我尝试强制转换.to_i“0”正在分配并存储在数据库中。 我也尝试过:
@programm.equipment_id = params[:equipment_id ]
但问题是一样的。
答案 0 :(得分:1)
参数是嵌套的。您可以像这样访问它:
@programm.equipment_id = params[:programm][:equipment_id]
答案 1 :(得分:1)
这应该可以解决问题:
@programm.equipment_id = params[:programm][:equipment_id]
答案 2 :(得分:0)
对于这样的观点: -
<%= form_for(@programm) do |f|%>
<%= f.hidden_field(:equipment_id, :value => " ") %>
<%end%>
表单提交后,用户输入的值将存储在params[:programm][:equipment_id]
中,并可用于访问该值。