Ruby on rails Can';t在Rails settings.yml中生成ActiveSupport::Duration
我想将ActiveSupport::Duration值放入settings.yml中。但是Ruby on rails Can';t在Rails settings.yml中生成ActiveSupport::Duration,ruby-on-rails,Ruby On Rails,我想将ActiveSupport::Duration值放入settings.yml中。但是Settings中的结果值具有Fixnum类: #settings.yml timeout: <%= 1.hour %> > Settings.timeout => 3600 > Settings.timeout.class => Fixnum > 1.hour.class => ActiveSupport::Duration #settings.yml
Settings
中的结果值具有Fixnum
类:
#settings.yml
timeout: <%= 1.hour %>
> Settings.timeout
=> 3600
> Settings.timeout.class
=> Fixnum
> 1.hour.class
=> ActiveSupport::Duration
#settings.yml
超时:
>设置。超时
=> 3600
>Settings.timeout.class
=>Fixnum
>一小时半上课
=>ActiveSupport::持续时间
我怎么能修好它
我将Rails 4.2与gem一起使用。使用Ruby
to_I
方法将值强制为整数:
⇒ 1.hour
=> 1 hour
⇒ 1.hour.class
=> ActiveSupport::Duration < Object
⇒ 1.hour.to_i
=> 3600
⇒ 1.hour.to_i.class
=> Fixnum < Integer
⇒ 一小时半
=>1小时
⇒ 一小时半上课
=>ActiveSupport::Duration
- 有关
的更多信息:至i
- 有关ActiveSupport::Duration的更多信息:
#settings.yml
timeout: <%= 1.hour %>
> Settings.timeout
=> 3600
> Settings.timeout.seconds
=> 3600
不幸的是,我需要
ActiveSupport::Duration
在结果中使用ago
方法<代码>1.hours.ago有效,但设置.timeout.to_i.ago
无效
> Settings.timeout.seconds.ago
=> Sat, 25 Mar 2017 09:12:39 MSK +03:00