レールからエラーが発生しました "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])