【发布时间】:2016-07-10 05:38:05
【问题描述】:
我正在尝试使用 ransack 为我的商店编写搜索表单。目前,我可以使用 name_or_address_cont 选项进行搜索,该选项在名称或地址中都可以看到。如果我在伦敦有一家阿迪达斯商店,然后我输入 Adidas London,则不会有任何结果。因此,我寻找一种方法来连接这两个属性并通过新属性进行搜索。我在一些旧帖子中发现的是以下代码:
ransacker :search_name, :formatter => proc {|v| UnicodeUtils.downcase(v) } do |parent|
Arel::Nodes::NamedFunction.new('LOWER',
[Arel::Nodes::NamedFunction.new('concat_ws', [' ', parent.table[:name], parent.table[:address], parent.table[:id]])]
)
end
应该通过商店的名称、地址和 ID 进行搜索。但是,当我运行时,UnicodeUtils 中出现错误。我尝试将其更改为 v.downcase!但我得到另一个错误。知道如何处理这个问题吗?谢谢!
【问题讨论】:
标签: ruby-on-rails ruby rubygems