是否有可能写在哈希格式此线(:created_at)是否有可能与哈希/符号替换字符串(:created_at)
User.where("created_at > ?", Time.now - 1.month)
User.where("created_at >= ?", DateTime.parse('2012-10-31')
是否有可能写在哈希格式此线(:created_at)是否有可能与哈希/符号替换字符串(:created_at)
User.where("created_at > ?", Time.now - 1.month)
User.where("created_at >= ?", DateTime.parse('2012-10-31')
我想离开meta_where/squeel,因为它不再被支持。唯一可行的解决方案目前我看到的,这是挖成AREL:
User.where(User.arel_table[:created_at].gt(1.month.ago))
User.where(User.arel_table[:created_at].gteq(DateTime.parse('2012-10-31'))
你可以把你所有的查询/范围在一个单独的类从模型和封装很多冗长的,请看这里:
你得到了很多的好处与此有关。你所有的范围合并将会很好地工作,因为arel会处理你的别名。
个人信息,我现在在Rails 3.0.20贫民区,因为我严重依赖于与Rails 3.1+不兼容的meta_where。我正在慢慢地将所有meta_where替换为arel。
我期待黑客/本地(导轨)解决方案,而不是为宝石。你的回答也很有帮助。谢谢。 – Syed