0

我想在 Rails 应用程序启动时解析一个 XML 文档。它被解析为一个对象,我希望这个对象可以从任何地方、任何用户会话中访问。如何以正确的方式实现这个应用程序级对象?

4

1 回答 1

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]
于 2012-03-27T15:35:56.497 回答