在custom_preinitializers中按时更改值

时间:2017-03-31 12:35:26

标签: ruby-on-rails ruby

我想根据小时更改自定义预初始化器中的值,因为我已为此目的编写了一个proc

Resources

但这不起作用我尝试在routes.rb中使用它作为

DUTATION = Proc.new do
  if Time.zone.now.hour >= 9 && Time.zone.now.hour <= 17
    AVAILABLE_DUTATION[:day]
  else
    AVAILABLE_DUTATION[:night]
  end
end

但是这给了我错误,但是工作和日志文件充满了错误和服务器崩溃

DUTATION  = Proc.new do
  if Time.zone.now.hour >= 9 && Time.zone.now.hour <= 17
    AVAILABLE_DUTATION[:day]
  else
    AVAILABLE_DUTATION[:night]
  end
end

如果我将其更改为:

warning: previous definition of DUTATION was here
warning: already initialized constant DUTATION
路径中的

然后它不起作用,但不会出现错误消息。

最终我在路线中也使用了这个

 DUTATION  ||= Proc.new do
   if Time.zone.now.hour >= 9 && Time.zone.now.hour <= 17
     AVAILABLE_DUTATION[:day]
   else
     AVAILABLE_DUTATION[:night]
   end
 end

但我尝试的所有方法似乎都不起作用。请为此提出一些合适的方法。我在轨道4.2.8和红宝石2.3.4

0 个答案:

没有答案