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

initializers/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 に答える