在Rails中访问表单参数

时间:2015-04-07 13:25:20

标签: ruby-on-rails

我有一个隐藏字段的表单:

<%= 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 ]

但问题是一样的。

3 个答案:

答案 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]中,并可用于访问该值。