在搜索中添加隐藏字段

时间:2013-09-02 19:31:14

标签: ruby-on-rails ransack

我试图在一个搜索形式中添加一个隐藏字段,不需要通过搜索搜索方法进行评估,我想在控制器中手动评估它。我该怎么做呢?

在我的情况下,我希望将控制器传递给一个城市ID并对其进行评估,而无需用任何方式对其进行任何操作。

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

我该怎么做?

2 个答案:

答案 0 :(得分:4)

您可以在字段名称后添加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

答案 1 :(得分:1)

问题是您在定义隐藏字段时使用表单助手。表单助手包括搜索参数中的隐藏字段。所以,只需使用标准的Rails助手。

替换

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

hidden_field_tag :city_id, @city.id