簡體   English   中英

Rails 4.1.0 elasticsearch輪胎協會

[英]Rails 4.1.0 elasticsearch Tire association

升級到Rails 4.1.0后,我的(re)Tire gem集成出現錯誤,在運行Rails 4.0.4的Product Model運行此代碼之前:

def self.search(params)
  tire.search( load:{:include => [:user, :tags]}, match_all: {}, page: params[:page], per_page: 12) do
    sort do
        by :created_at, 'desc'
        end
    query do
      boolean do
        must { string params[:query], default_operator: "AND" } 
        must { term :online, true }
        must_not { string 'location:Undefined' }
      end
    end
  end
end

它工作正常,但現在ActiveRecord拋出此錯誤:

Couldn't find all Products with 'id': (1118, 1036, {:include=>[:user, :tags]}) (found 2 results, but was looking for 3)

我的問題是我該怎么做才能用Tire gem加載相關模型? load:{:include => [:user, :tags]是否正確?

預先感謝JD。

Tire使用klass.find(ids, @options[:load])執行負載。 這個行為已經過時了一段時間,但是通過gem activerecord-deprecated_finders支持 Rails 4.1.0刪除了該gem的默認依賴項。

您應該可以自己在Gemfile中包含gem來恢復行為:

gem 'activerecord-deprecated_finders'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM