我有一个使用form_for帮助器的表单,在这个表单中我已经包含了一些hidden_field_tags,我通过javascript更新,
这是表格:
<% form_for :ticket, @ticket, :url => { :controller => 'provider/tickets', :action => 'create'}, :html => { :id => "new_ticket", :multipart => true } do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :Regarding %><br />
<%= f.text_field :title %>
<%= hidden_field_tag :general_comments, '', :id => "general_comments" %>
<%= hidden_field_tag :resident_id, @resident.id %>
<%= hidden_field_tag :send_type, 'everyone', :id => "send_type" %>
<%= hidden_field_tag :email, true, :id => "email_value" %>
<% @categories.each do |category_comments_|%>
<%= hidden_field_tag "category_comments_" + category_comments_.id.to_s , '', :id => "category_comments_" + category_comments_.id.to_s %>
<% end %>
</p>
<%= f.submit 'Create' %>
</p>
<% end %>
我正在通过javascript更新hidden_field_tag,当我在浏览器中查看时,它会被赋值,
但是如果我提交表格,这个hidden_field_tag的参数是空的,我不知道为什么会发生这种情况,请在提交时查看下面的屏幕截图以查看空参数。
但是如果我在form_tag中使用相同的字段,它工作正常,如果我在form_中使用它,因为它不起作用。
此循环内的值只是没有正确提交,
<% @categories.each do |category_comments_|%>
<%= hidden_field_tag "category_comments_" + category_comments_.id.to_s , '', :id => "category_comments_" + category_comments_.id.to_s %>
<% end %>
由于应用程序太旧,版本是Ruby 1.8.7和Rails 2.3。任何人都可以帮我解决这个问题。
感谢。
答案 0 :(得分:2)
基于文档:http://apidock.com/rails/ActionView/Helpers/FormHelper/hidden_field
您可以使用:value参数为隐藏字段添加值。
示例:强>
hidden_field(:object, :field, :value => params[:requestval])
通过javascript更新值时,您可能需要设置如下:
f.hidden_field :field_name, {:value => ''}
中建议的那样
答案 1 :(得分:0)
我发现了问题,
我在hidden_field_tag的名称中使用了string而不是:symbol。现在我将字符串更改为符号,现在所有值都在提交表单时使用参数发送。
这就是我已经拥有的,
<% @categories.each do |category_comments_|%>
<%= hidden_field_tag "category_comments_" + category_comments_.id.to_s , '', :id => "category_comments_" + category_comments_.id.to_s %>
<% end %>
现在我改变了这个,如下所示,
<% @categories.each do |category_comments_|%>
<% specific_category = "category_comments_" + category_comments_.id.to_s %>
<%= hidden_field_tag specific_category.parameterize.underscore.to_sym, '', :id => "category_comments_" + category_comments_.id.to_s %>
<% end %>
现在工作正常。