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