如果呈现表单的请求中包含 url 参数,我正在尝试使用嵌入式 Ruby 在表单中包含隐藏字段。 出于某种原因,无论是否存在 url 参数,都不会包含隐藏字段。 它是 Rails 3.2 应用程序的一部分。 任何这方面的帮助将不胜感激。
这是我的index.html.erb视图的一部分有问题的表单:
<form action="/contacts" method="get" id="contacts-index">
<input name="city" value="<%= params[:city] %>" type="hidden">
<input name="state" value="<%= params[:state] %>" type="hidden">
<input name="zip" value="<%= params[:zip] %>" type="hidden">
<% if params[:fi_ase] == true or params[:fi_ase] == false %>
<input name="fi_ase" value="<%= params[:fi_ase] %>" type="hidden">
<% end %>
<% if params[:fi_ame] == true or params[:fi_ame] == false %>
<input name="fi_ame" value="<%= params[:fi_ame] %>" type="hidden">
<% end %>
.
.
.
.
</form>
页面呈现良好,但向/contacts fi_ase 发送请求后,"fi_ase"和"fi_ame"隐藏字段不存在?=true&fi_ame=true
尝试:
<% if params[:fi_ase] == "true" or params[:fi_ase] == "false" %>
<input name="fi_ase" value="<%= params[:fi_ase] %>" type="hidden">
<% end %>
<% if params[:fi_ame] == "true" or params[:fi_ame] == "false" %>
<input name="fi_ame" value="<%= params[:fi_ame] %>" type="hidden">
<% end %>
参数值始终为字符串;
<%= hidden_field_tag('fi_ase', params[:fi_ase]) if params[:fi_ase] == "true" or params[:fi_ase] == "false" %>
<%= hidden_field_tag('fi_ame', params[:fi_ame]) if params[:fi_ame] == "true" or params[:fi_ame] == "false" %>
是
试试这个,
<%= hidden_field_tag"some_id",@some%>标签将帮助您。