簡體   English   中英

Rails-如何制作全局對象

[英]Rails - how to make global object

我想一次解析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]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM