在inherited_resource集合中包含 mongoid 嵌入式文档时未定义的方法



我有几个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 用来在集合中执行操作的内部方法,所以我想如果你覆盖它会导致一些冲突。

相关内容

  • 没有找到相关文章

最新更新