2

我正在尝试在 ransack 表单中添加一个隐藏字段,该字段不会由 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

我该怎么办?

4

2 回答 2

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

于 2013-09-02T20:34:04.953 回答
1

问题是您在定义隐藏字段时使用了表单助手。表单助手在搜索参数中包含隐藏字段。因此,只需使用标准的 Rails 帮助程序。

代替

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

hidden_field_tag :city_id, @city.id
于 2014-01-02T18:03:53.370 回答