2009-07-12 52 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