如何禁用所属对象的默认范围?

有没有办法禁用单个所属的关联的默认范围?default\u范围适用于所有人,但我想绕过范围的单个属于。我熟悉独占范围的,但我不认为它可以与所属范围一起使用

有什么建议吗

上下文:我试图允许acts as revisable中的分支\u源关联指向不是最新的修订(revisable\u是当前的是false)

可能有点晚了(短短3年),但遇到了同样的问题,Tobias的解决方案当然是正确的方向,但Rails 3.2+可以简化。我唯一仍然不喜欢的是文档的“硬编码”类名,也许可以使用反射来改变

无论如何,这就是我想到的:

课堂评论<ActiveRecord::Base
#文档具有某种默认的\u范围
属于:文件
#确保文档的作用域不受限制,因为Rails3.2使用它自己的模块
#可以使用简单的继承。
def文件
Document.unscoped{super}
终止
终止

更新:获得了一个基于reflect\u on\u关联的通用解决方案https://gist.github.com/2923336

发表评论