【发布时间】:2010-02-18 05:49:20
【问题描述】:
我有一个包含一些时间的 yaml 文件:
hours:
- 00:00:00
- 00:30:00
- 01:00:00
但是,一旦我阅读它们,它们就会被转换为时间(以秒为单位),但我希望它们暂时保留为字符串,以便我可以进行转换。以下是我的阅读方式:
def daily_hours
DefaultsConfig.hours.collect {|hour|
logger.info { hour.to_s }
}
end
它正在输出:
0 1800 3600
但我希望字符串保持不变,我可以将它们转换为时间,例如:
12:00am 12:30am 1:00am
为什么它们会自动转换,我该如何阻止它?
这是 DefaultConfig 类:
class DefaultsConfig
def self.load
config_file = File.join(Rails.root, "config", "defaults.yml")
if File.exists?(config_file)
config = ERB.new(File.read(config_file)).result
config = YAML.load(config)[Rails.env.to_sym]
config.keys.each do |key|
cattr_accessor key
send("#{key}=", config[key])
end
end
end
end
DefaultsConfig.load
【问题讨论】:
-
DefaultConfigs如何设置? -
那只是在yaml文件中读取的类。它使我可以访问“小时”,这是您在帖子的第一个灰色框中看到的。我将代码添加到帖子中。
标签: ruby-on-rails ruby yaml