我有一个搜索引擎的表单。我想在特定模型的所有领域中搜索searchterm。
我正在使用searchlogic插件。它给了我很多新的发现者,但我不能在两个领域之间进行OR。
例如:
如何执行“SELECT * from my_table WHERE field1 LIKE'%xpto%'OR field2 LIKE'%xpto%'?
特别是在将传递给我的控制器的表单参数中,如果你知道searchlogic你知道我在说什么,我试图传递类似:field1_or_field2_like(“xpto”),但它不起作用。有什么想法吗?
答案 0 :(得分:1)
嗯......我认为Searchlogic默认不提供这样的功能。但是为什么不亲自写下named_scope?
class MyModel
named_scope :field1_or_field2_like lambda { |*args| {:conditions => ["field1 LIKE '%?%' OR field2 LIKE '%?%'", args.first, args.first]} }
end
答案 1 :(得分:1)
基于插件作者的这个post,并不打算对此提供支持,尽管Jongsma指出你可以使用自己的named_scope来实现它。