hidden_​​field_tag无法传递布尔值

时间:2018-06-16 08:40:43

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

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

<%= 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" />

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

1 个答案:

答案 0 :(得分:3)

轨道将您的参数转换为等效的html,并且只能在html中包含字符串。 hidden_field_tag只是一个隐藏的text_field_tag,因此该值必须为文本。并且在url中,您还有一个字符串。因此,转换需要在控制器中完成。