Отправить дополнительный параметр через форму в рельсах 3 - PullRequest
24 голосов
/ 14 мая 2011

Есть ли способ отправить дополнительный параметр через форму в рельсах 3?

Например:

<%= form_for @post do |f| %>
<%= f.hidden_field :extraparam, :value => "22" %>
<% end %>

, но давайте скажем: extraparam не является частью модели поста..

У меня есть неизвестная ошибка атрибута в методе создания контроллера, когда я пытаюсь это сделать, какие-либо идеи?

(Я хочу использовать само значение параметра в контроллере для некоторых дополнительныхлогика)

Ответы [ 3 ]

29 голосов
/ 14 мая 2011

Звоните hidden_field_tag напрямую. Смотри: http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-hidden_field_tag

Эти помощники существуют для всех основных типов полей формы и удобны, когда вам нужно выйти за пределы методов вашей модели.

3 голосов
/ 28 мая 2016

Следующие данные помогли мне передать дополнительные параметры из представления обратно в контроллер, которые были частью моей модели, а не частью моей модели.

    <%= hidden_field_tag :extraparam, value %>

Пример использования

<%= hidden_field_tag :name, "John Smith" %>
0 голосов
/ 14 мая 2011

Я. Павел прав.Hidden_field связан с вашей моделью, а дополнительные поля _tag - нет.Я не уверен в ваших потребностях, но обычно в сообществе RoR рекомендуется избегать передачи тонны скрытых полей, как вы могли бы сделать в приложении php.

Я видел некоторый код, в котором идентификаторы передавались по скрытым полям, и рельсы позаботились об этом сами, если вы знаете лучшие практики и в полной мере используете преимущества инфраструктуры.Конечно, я просто говорю это как общую информацию, так как иногда есть лучшие способы достижения той же функциональности.Удачи в ваших приложениях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...