我希望key_type
在表单提交中传递category_item_value
参数哈希值,但它会在哈希值之外传递。
Parameters: {"utf8"=>"✓", "authenticity_token"=>"H0p7vNzcl0r0KNPWTHOGgaem0ngpsjIq5DmXZ8A7woZOztECkC9lv5cBH0CloH4ivEL0VtU5uDMPZTJQZQDjOQ==", "category_item_value"=>{"key"=>"this-Is-AttRibute-Page", "value"=>"okkkkkkkk"}, "key_type"=>"", "commit"=>"Submit",...
这是表格
<%= form_for([@category_item, @category_item_value], url: create_category_item_value_path, method: :post) do |f| %>
<%= render 'shared/error_messages', object: f.object %>
<%= f.label :attribute, "Pick a key to add an attribute to." %>
<%= f.select :key, options_for_select(@key_names) %>
<%= hidden_field_tag :key_type, 2 %>
<%= f.label :value %>
<%= f.text_field :value %>
<%= f.submit "Submit" %>
<% end %>
我需要隐藏字段在category_item_value
哈希内部传递。为什么不发生?
另外我知道隐藏的字段是不安全的,用户可以轻松地更改其他表单上的key_type
,所以如果他们尝试成为先生,这不是问题。 hackety hack并在此更改它。它只是为了方便而隐藏。
答案 0 :(得分:1)
有2个问题。
hidden_field_tag
应该是f.hidden_field
。这会将其添加到正确的哈希值,但会引发错误。:key_type, 2
:key_type, :value => 2
的错误
醇>