2009-07-12 51 views
-1

我有一个搜索引擎的窗体。我想在特定模型的所有字段中搜索searchterm。rails searchlogic插件在多列中搜索

我正在使用searchlogic插件。它给了我很多新的发现者,但我不能在两个领域之间做一个OR。

例如:

我该怎么办了“SELECT * FROM my_table的WHERE field1的LIKE '%xpto%' 或场LIKE '%xpto%'

特意在表格参数会是什么?传递给我的控制器,如果你知道searchlogic你知道我在说什么,我试图通过类似的东西:field1_or_field2_like(“xpto”),但它不工作。任何想法?

回答

1

基于这个插件作者的post,并不打算支持这个,尽管Jongsma指出你可以用你自己的named_scope来实现它。

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 
+0

是的,我用这个在railcast 111中关于named_scope :-) 但是我想用searchlogic知道,因为我没有看到任何关于OR的例子,他们使用它:-) – 2009-07-12 22:02:45