我必须使用模型,Library
和Book
。
class Library
include Mongoid::Document
field :name, type: String
has_many :books
scope :first_scope, -> do
logger.debug Book.all.entries
where(name: "Foo")
end
scope :second_scope, -> do
logger.debug Book.all.entries
where(name: "Bar")
end
end
class Book
include Mongoid::Document
field :title, type: String
belongs_to :library
end
现在,如果我像这样Library.first_scope.second_scope
链接范围,第一个的调试将返回现有书籍的列表,这是我所期望的,但第二个返回现有库的列表,如如果我做logger.debug Library.all.entries
。
为什么?为什么我可以访问第一个范围中的Book
集合,而不是第二个范围内的Book
集合?我怎样才能访问第二个范围内的sp_configure ‘show advanced options’, 1;
GO
reconfigure
GO
sp_configure ‘user connections’, 0;
GO
reconfigure
GO
集合?
答案 0 :(得分:0)
我最终使用了Moped,这似乎工作正常......不知道为什么。
scope :second_scope, -> do
logger.debug Book.collection.find.first # Returns a Book, yay!
where(name: "Bar")
end