我有几个mongoid模型:
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
我试图让inherited_resources将嵌入的专辑包含在乐队的 json 中,如下所示:
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
知道我可能做错了什么吗?
我几乎可以肯定这里的错误是因为您正在覆盖collection
方法。 集合是 mongoid 用来在集合中执行操作的内部方法,所以我想如果你覆盖它会导致一些冲突。