目前,我正在将我的应用程序升级到rails 4。我知道,在rails4 for SQL语句中编写作用域时有一些语法更改。下面是rails 3中的范围:
scope :current_active_leases, group("leases.id").where("leases.commencement <= ? and (leases.expiration >= ? or leases.mtm=?) and leases.is_executed= ? ", Time.now.strftime("%Y-%m-%d"), Time.now.strftime("%Y-%m-%d"), true, true)如何在rails 4中重写
发布于 2013-11-26 09:45:02
我想您曾经写过的东西应该可以工作,但是在rails 4中,您应该编写如下
scope :current_active_leases, -> {group("leases.id").where("leases.commencement <= ? and (leases.expiration >= ? or leases.mtm=?) and leases.is_executed= ? ", Time.now.strftime("%Y-%m-%d"), Time.now.strftime("%Y-%m-%d"), true, true) }查看文档http://api.rubyonrails.org/classes/ActiveRecord/Scoping/Named/ClassMethods.html#method-i-scope
https://stackoverflow.com/questions/20213329
复制相似问题