Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Can';t在Rails settings.yml中生成ActiveSupport::Duration_Ruby On Rails - Fatal编程技术网

Ruby on rails Can';t在Rails settings.yml中生成ActiveSupport::Duration

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

我想将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 3600
⇒ 一小时到一节课
=>Fixnum
  • 有关
    至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