Добавление скрытого поля в 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