0

私はいくつかのモンゴイドモデルを持っています:

class Album
  include Mongoid::Document
  field :name, type: String
  embedded_in :band
end
class Band
  include Mongoid::Document
  field :name, type: String
  embeds_many :albums
end

そして、次のように、バンドの json に埋め込まれたアルバムを含めるように inherited_resources を取得しようとしています。

class BandsController < InheritedResources::Base
  respond_to :html, :xml, :json
  def permitted_params
    params.permit!
  end
protected
  def collection
    @bands ||= end_of_association_chain.includes(:albums)
  end
end

しかし、バンドのリストを取得しようとすると、次のエラーが発生します。

undefined method `eager_load' for Mongoid::Relations::Embedded::Many:Class

私が間違っているかもしれないことは何ですか?

4

1 に答える 1

2

ここでのエラーは、メソッドを上書きしているためだと確信していますcollection。collection は、mongoid がコレクション内で操作を行うために使用する内部メソッドであるため、上書きすると競合が発生すると思います。

于 2013-10-01T20:58:56.140 に答える