在rails form_for方法中设置param值

时间:2014-06-17 06:53:12

标签: ruby-on-rails

如何设置我不想在表单中显示的属性值(称为' type')? (即我不希望用户能够在表单中选择它。我想自己设置值。)

我的表单代码是:

<%= form_for @unit do |f| %>

     <%= f.datetime_select :start_datetime %>
     <%= f.text_field :notes %>

<% end %>

这会产生以下的参数:

{'unit' => {'start_datetime' => value, 'notes' => value }}

我想设置&#39;类型&#39;属性(我确定的某个值),以便表单返回以下参数:

{'unit' => {'type' => value, 'start_datetime' => value, 'notes' => value }}

form_for是否有一些选项可用于包含&#39; type&#39;参考并设定其价值?

2 个答案:

答案 0 :(得分:2)

您需要在form_for中使用hidden_field,例如:

<%= form_for @unit do |f| %>
  <%= f.hidden_field :type, :value => "your_value" %>
  <%= f.datetime_select :start_datetime %>
  <%= f.text_field :notes %>
<% end %>

这会给你像参数:

{'unit' => {'type' => value, 'start_datetime' => value, 'notes' => value }}

答案 1 :(得分:2)

您可以使用 hidden_field 这样传递

<%= f.hidden_field :type,:value=>"some_value" %>

<%= form_for @unit do |f| %>
  <%= f.hidden_field :type, :value => "some_value" %>
  <%= f.datetime_select :start_datetime %>
  <%= f.text_field :notes %>
<% end %>