如何传入has_many范围的范围

时间:2014-08-08 20:15:38

标签: ruby-on-rails ruby-on-rails-4

我有Courier个对象,我希望能够拨打courier.daily_orders来查找当天分配给快递员的所有订单。

我在下面的has_many范围内无效。

has_many :daily_orders, -> {
  where('orders.bucket_time >= ? AND orders.bucket_time <= ?',
    courier.service_region.to_local_timezone(Time.now.beginning_of_day),   
    courier.service_region.to_local_timezone(Time.now.end_of_day)) },
  class_name: Order

如何传递courier对象,以便拨打courier.service_region...

1 个答案:

答案 0 :(得分:0)

您可以使用此

has_many :daily_orders, -> (courier) { where('...') }

lambda

的详细版本
has_many :daily_orders, lambda { |courier| where('...') }

proc

has_many :daily_orders, proc { |courier| where('...') }