标签: ruby-on-rails ruby arel
我需要Arel做一些ActiveRecord无法做到的事情,但是我的方法应该返回一个范围,因为调用者可能想要添加一些自己的范围。
这可能吗?
e.g。 User.arel_table.scoped.first
User.arel_table.scoped.first
答案 0 :(得分:6)
您可以在Relation#where
Relation#where
示例:
Model.where( Model.arel_table[:column].not_eq( nil ) .or(Model.arel_table[:other_column].gt( 0 )) )
关于它有一个很好的ASCIIcast(arel在最后)。此外,您可能会对squeel感兴趣。