【问题标题】:Adding hidden field in ransack在搜查中添加隐藏字段
【发布时间】:2013-09-02 19:31:14
【问题描述】:

我正在尝试在 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

我该怎么办?

【问题讨论】:

    标签: ruby-on-rails ransack


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      替换

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

      hidden_field_tag :city_id, @city.id
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-25
        • 2019-02-04
        • 2021-02-08
        相关资源
        最近更新 更多