0

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

1 に答える 1