是否可以使用Ransack使用值数组搜索以开头?
例如,Product.search(name_start: %w(a b))
之类的内容会返回名称以' a'或者' b'。
或者,我有一个范围,但无法弄清楚如何使用ransacker或ransackable_scopes连接它。
答案 0 :(得分:1)
据我所知,似乎没有接受数组的 starts_with 选项。但是,截至2014年8月19日,Ransack的主分支机构支持在搜索中引用范围。
在我的Gemfile中,
gem 'ransack', github: 'activerecord-hackery/ransack'
在我的模型中,
scope :starts_with_number, ->{ where("name ~ '^(?![a-zA-Z])'") }
class << self
def ransackable_scopes(auth_object = nil)
[:starts_with_number]
end
end
注意:上面的示例范围是为Postgres编写的。