我想在settings.yml中放置一个ActiveSupport :: Duration值。但Settings
中的结果值有Fixnum
类:
#settings.yml
timeout: <%= 1.hour %>
> Settings.timeout
=> 3600
> Settings.timeout.class
=> Fixnum
> 1.hour.class
=> ActiveSupport::Duration
我如何解决它?
我正在使用带有config
gem的Rails 4.2。
答案 0 :(得分:1)
我找到了解决方案:
description
现在它可以用作#settings.yml
timeout: <%= 1.hour %>
> Settings.timeout
=> 3600
> Settings.timeout.seconds
=> 3600
ActiveSupport::Duration
答案 1 :(得分:0)
使用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
to_i
的更多信息:http://apidock.com/ruby/String/to_i