我想知道在Rails 4中如何完成以下操作,或者我是否应该使用在Rails 3中使用lambda的方法,并且可以在4中与3一样传递参数。
我对Rails 3比较陌生,正在尝试运行Rails 4的一些示例。
这是我的Rails 3代码:
class Person < ActiveRecord::Base
scope :find_lazy, lambda {|id| where(:id => id)}
end
# In console I can call
Person.find_lazy(1)
所以,如果这是Rails 4的方法,使用-> {},那么这是一个lambda,对吗?scope :all_lazy, -> { select("*") }
如果我需要一个参数呢?我尝试了一些不同的想法,在使用-> {}时在控制台上会收到参数错误。
scope :in_daterange, ->(start_date, end_date) { where(created_at: start_date.to_date.beginning_of_day..end_date.to_date.end_of_day) }
。 - Epigenescope :find_lazy, ->(param)
)。在 Ruby 2+ 版本中,可以添加空格。更多信息请点击这里... - furman87scope :find_lazy, -> id { where id: id }
- swordray