我正在为表单传递一个隐藏字段,以区分请求来自的视图:
<%= 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" />
显然,我可以检查控制器中的字符串值,但这是预期的行为吗?
Rails 将您的参数转换为等效的 html,并且只能在 html 中包含字符串。hidden_field_tag
只是一个隐藏的text_field_tag
,所以值需要是文本。在 url 中,您还有一个字符串。因此,转换需要在控制器中完成。