我想根据小时更改自定义预初始化器中的值,因为我已为此目的编写了一个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