未定义的方法Searchlogic OR条件结果(Searchlogic OR condition

2019-10-28 15:16发布

我敢肯定,我忽视的东西,因为这是使用Searchlogic我的第一次。

每当我用如下语句Listing.city_like_or_state_like(params[:search])在我的控制器时,Rails会返回一个“未定义的方法”的错误。 我试图在同一个模型中搜索2场。

但是,如果我用Listing.city_like(params[:search])一切都完全正常。

我失去了一些东西在这里? 我想OR条件可以连同Searchlogic被链接。 我怎样才能实现一个或声明?

Answer 1:

Searchlogic仅支持每个调用一个“经营者”。 所以,你想要做的是

Listing.city_or_state_like(params[:search])


Answer 2:

我想你可以使用named_scopes和直传球的PARAMS到SearchLogic

车型/ listing.rb

class Listing < ActiveRecord::Base
    named_scope :city_or_state_like, lambda{|*args| {
                 :conditions => ["city ILIKE ? OR state ILIKE ?", args[0], args[1] ]
                  }
                }

end

控制器/ listing_controller.rb

#params for [:search][:city_or_state_like] = [city_var][state_var]
    Listing.search(params[:search])

我上投票aNoble的回答虽然:d



文章来源: Searchlogic OR condition results in undefined method