0

fb app id (omniauth で使用) を設定して、そのグローバルがイニシャライザーとコントローラーを考案するようにしようとしています。

より詳しい情報

config.omniauth :facebook, fb_app_id, fb_app_secret を設定できるように、devise イニシャライザー (config/initializer/devise.rb) でそれが必要です

試みられた解決策

この情報を yml ファイル ( http://railscasts.com/episodes/85-yaml-configuration-file ) に追加しようとしましたが、yml ハッシュがコントローラー用に設定されているように見えますが、コントローラーには使用できません。デバイス初期化子。

/home/ubuntu/myapp/config/initializers/devise.rb:215:in `block in <top (required)>': uninitialized constant APP_CONFIG (NameError)

何か案は?

4

3 に答える 3

5

興味のある人のために、私はconfig / environment/production.rbとconfig/environment/development.rbに変数を書くことになりました。

以下を追加することにより、グローバル変数を設定できます。

config.fb_app_id = 23839282 
config.fb_app_secret = aj32j32j4jk

(production.rbまたはdevelopment.rbに適切なものを設定してください)

これらは、イニシャライザーで使用できます。また、実際のアプリケーションのビュー、コントローラーなどでも使用できます。

Rails.configuration.fb_app_id
Rails.configuration.fb_app_secret

2番目の答えを読んでください: Railsでカスタム構成変数を定義する方法

于 2012-05-01T16:52:20.167 に答える
0

env.rbこれを行うには、必要なさまざまなenv変数を設定する初期化子(と呼ばれる)を追加します(ENV['FACEBOOK_APP_ID']たとえば、など)。

于 2012-04-30T13:17:03.220 に答える
0

同様の問題がありましたが、別の解決策にたどり着きました。ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_APP_SECRET'] をdevise.rb内からCONFIG.OMNIAUTHに渡しました。次に、環境変数 (~/.bash_profile) または heroku config:add FACEBOOK_APP_ID を追加します。これにより、新しいコードをプッシュすることなく、新しい環境にインストールして APPID を再生成できます。

于 2013-03-11T17:35:54.377 に答える