繁体   English   中英

Rails 3-多态和全局范围

[英]Rails 3 - Polymorphic and Global Scopes

我一直在尝试找出如何正确使用范围的以下示例。

有一个表Notes,它具有与项目的多态关联。 但是我也允许有“全局” Notes,所以当我在Notes上进行作用域时,我希望它将多态关联返回到Items和NULL多态字段,并带有IsReviewed类型布尔值等其他条件。 我尝试执行以下操作,但效果不佳。

scope :is_reviewed, lambda { { :include => [:category, :notable], :conditions => ["is_reviewed = ?", true] } }

然后尝试但不返回“全局”

scope :is_reviewed, lambda { { :include => [:category, :notable], :conditions => ["notable_type = 'Item' and is_reviewed = ?", true] } }

并尝试但似乎无法正常工作

scope :is_reviewed, lambda { { :include => [:category, :notable], :conditions => ["(notable_type = 'Item' or notable_type = NULL) and is_reviewed = ?", true] } }

任何想法或帮助将不胜感激。 谢谢

实际上,我注意到我还有另一个问题导致该示波器无法正常工作。 以下作用域确实可以用于在存在显着对象的情况下检索显着对象,并且您可以在分部或助手中搜索显着类型,以对显着类型进行正确的逻辑处理。

scope :is_reviewed, lambda { { :include => [:category, :notable], :conditions => ["is_reviewed = ?", true] } }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM