0
我想在Rails应用程序启动时解析一次XML文档。 它被解析为一个对象,并且我希望这个对象可以从任何用户会话的任何地方访问。 如何以正确的方式实现这个应用程序级对象?Rails - 如何创建全局对象
我想在Rails应用程序启动时解析一次XML文档。 它被解析为一个对象,并且我希望这个对象可以从任何用户会话的任何地方访问。 如何以正确的方式实现这个应用程序级对象?Rails - 如何创建全局对象
如果你只是从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]
的
可能重复[Ruby on Rails的:在哪里定义全局常量(HTTP:/ /stackoverflow.com/questions/4110866/ruby-on-rails-where-to-define-global-constants) – 2012-03-27 13:53:01
可能是,但有一些小常量的定义。这种方法适用于大型物体吗? – Paul 2012-03-27 14:08:18
我想要MyApp :: Application.GLOBAL_OBJECT – Paul 2012-03-27 14:25:55