我想在Rails应用程序启动时解析一次XML文档。 它被解析为一个对象,我希望可以从任何用户会话的任何地方访问该对象。 如何以正确的方式实现这个应用程序级对象?
答案 0 :(得分:1)
如果您只需要xml中的信息,并且可以将其作为简单的哈希/数组/字符串,并且不需要特定对象,则可以使用Settingslogic - 通常需要yaml文件,然后是可在整个应用程序中访问。例如,您定义了一个类:
# app/models/settings.rb
class Settings < Settingslogic
source "#{Rails.root}/config/application.yml"
namespace Rails.env
end
# config/application.yml
defaults: &defaults
global: 'Hello'
development:
<<: *defaults
more:
data: [1, 2, 3]
然后你可以在任何地方使用它:
> Settings.global
=> "Hello"
> Settings.more.data
=> [1, 2, 3]