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

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

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

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

Как бы я пошел по этому поводу?

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

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

замещать

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

с

hidden_field_tag :city_id, @city.id
Другие вопросы по тегам