Добавление скрытого поля в ransack

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

В моем случае ниже я хочу передать контроллеру идентификатор города и оценить его, ничего не делая с ним.

= search_form_for @q do |f|
      = f.label "Has Mobile"
      = f.check_box :mobile_true
      = f.hidden_field :city_id, :value =>@city.id

Как бы я это сделал?


person Jamal Khan    schedule 02.09.2013    source источник


Ответы (2)


Вы можете добавить предикат ransack после имени поля. :city_id_eq

= search_form_for @q do |f|
  = f.label "Has Mobile"
  = f.check_box :mobile_true
  = f.hidden_field :city_id_eq, :value =>@city.id

Предикаты https://github.com/ernie/ransack/wiki/Basic-Searching

person Muhammet    schedule 02.09.2013

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

Заменять

f.hidden_field :city_id, :value =>@city.id

с

hidden_field_tag :city_id, @city.id
person Adam Parod    schedule 02.01.2014