自定义ransacker参数的表单助手-Rails

时间:2019-07-19 21:35:31

标签: ruby-on-rails ruby-on-rails-5 ransack

根据class Person < ApplicationRecord ransacker :author_max_title_of_article_where_body_length_between, args: [:parent, :ransacker_args] do |parent, args| min, max = args query = <<-SQL (SELECT MAX(articles.title) FROM articles WHERE articles.person_id = people.id AND CHAR_LENGTH(articles.body) BETWEEN #{min.to_i} AND #{max.to_i} GROUP BY articles.person_id ) SQL Arel.sql(query) end end 文档,有可能使用pass custom arguments to a ransacker方法:

Person.ransack(
  conditions: [{
    attributes: {
      '0' => {
        name: 'author_max_title_of_article_where_body_length_between',
        ransacker_args: [10, 100]
      }
    },
    predicate_name: 'cont',
    values: ['Ransackers can take arguments']
  }]
)

在同一文档中,甚至有一个传递自定义参数的示例:

search_form_for

但是,由于似乎没有VOLUME /tmp/bridge-bo-portal/jest-cache助手来执行此操作,因此没有关于如何从视图传递自定义参数的文档。

是否有一种方法可以通过表格传递这些参数,而无需像示例中所指出的那样解析控制器中的参数来执行搜索?

0 个答案:

没有答案