【问题标题】:hidden_field_tag fails to pass booleanhidden_​​field_tag 无法传递布尔值
【发布时间】:2018-06-16 08:40:42
【问题描述】:

我正在为表单传递一个隐藏字段,以区分请求来自的视图:

<%= hidden_field_tag("advanced", true)%>

显然 true 作为字符串传递。我尝试了不同的语法,例如:

<%= hidden_field_tag "advanced", true %>
<%= hidden_field_tag "advanced" => true %>
<%= hidden_field_tag :advanced => true %>

它总是被翻译成这个

<input type="hidden" name="advanced" id="advanced" value="true" />

显然,我可以检查控制器中的字符串值,但这是预期的行为吗?

【问题讨论】:

    标签: ruby-on-rails boolean hidden-field ruby-on-rails-5.2 ruby-2.5


    【解决方案1】:

    Rails 将您的参数转换为等效的 html,并且只能在 html 中包含字符串。 hidden_field_tag 只是一个隐藏的text_field_tag,所以值需要是文本。在网址中,您还有一个字符串。所以需要在控制器中进行转换。

    【讨论】:

      猜你喜欢
      • 2011-01-31
      • 2011-05-29
      • 1970-01-01
      • 2016-05-31
      • 2015-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多