使用嵌入式 Ruby 有条件地在 Rails 3 中包含隐藏的表单字段



如果呈现表单的请求中包含 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%>标签将帮助您。

相关内容

  • 没有找到相关文章

最新更新