1

在 Rails 3.2 应用程序中,我有一个 facebook.yml、twitter.yml 等,其中包含用于开发、生产、登台环境的相关令牌。

然后我有诸如

CONFIG = YAML.load_file(Rails.root.join("config/facebook.yml"))[Rails.env]
FB_APP_ID = CONFIG['app_id']
FB_SECRET = CONFIG['secret_key']
FB_NAMESPACE = CONFIG['name_space']

我应该如何以及在哪里设置这些方法,以便我可以从我的应用程序中的其他任何地方访问 FB_APP_ID:控制器、模型、视图等?

这是模块进来的地方吗?

谢谢

4

1 回答 1

0

最后我创建了一个 config.yml 文件

development:
  facebook: 
    app_id:  #####
    secret: ###
  twitter:
    --
production:
  ---
etc

添加了初始化程序/config.rb

CONFIG = YAML.load_file(Rails.root.join("config/config.yml"))[Rails.env]

module Facebook
  APP_ID = FB_CONFIG["facebook"]['app_id']
  SECRET = FB_CONFIG["facebook"]['secret']
end

module Twitter
  --
end

现在我可以使用任何地方访问这些值

Facebook::APP_ID

不确定这是否是最好的方法,但它现在有效。

于 2012-06-10T07:32:38.290 回答