レールからエラーが発生しました "ActiveSupport::JSON::Encoding::CircularReferenceError",
自分自身を参照しているオブジェクトがあるというエラーの意味が完全にはわかりません。誰かがそれを説明して、それを修正する方法を理解するのを手伝ってもらえますか?
エラーは次のコードから発生します。私のモデルでは、呼び出します
scope :search_wineries, lambda{|wineries|{:joins => :winery, :conditions =>["wineries.id IN (?)", wineries]}}
scope :search_varietals, lambda{|varietals|{:joins => :varietals, :conditions => ["varietals.id IN (?)",varietals] }}
scope :search_wines, lambda{|wines|{:conditions=>["wines.id IN (?)",wines]}}
def self.search_wines(params)
スコープ = 自分
[:ワイナリー,:品種,:ワイン].each do |s|
scope = scope.send("search_#{s}", params[s]) if !params[s].empty?
終わり
範囲
終わり
これは、私が呼び出すコントローラーから呼び出されます
return_wines = Wine.search_wines({ワイナリー:ワイナリー,品種:品種,ワイン:ワイン})
render :json => return_wines.to_json(:include=>[:winery,:varietals])