hidden_field_tag ​​не может передать логическое значение

Я передаю скрытое поле для формы, чтобы различать представления, из которых поступил запрос:

<%= 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 ответ

Решение

Rails преобразует ваши параметры в эквивалентный html, и строки могут быть только в html. hidden_field_tag это просто скрытый text_field_tagпоэтому значение должно быть текстовым. И в URL у вас также есть строка. Таким образом, преобразование должно быть сделано в контроллере.

Другие вопросы по тегам