私はSorcery for Authenticationを使用しており、イニシャライザでサードパーティ認証を設定する必要があります。Rails:イニシャライザでホスト名を取得
config.twitter.callback_url "http://example.dev/auth/callback?provider=twitter"
...私は地元の発展に捕虜を使用していたときにはホスト名です:
初期化子は、このような行があります。これは、アプリは、生産している、またはstaging.example.com
あれば、それはステージングでは、など
だ場合、私はこのようなものにするために、このラインを設定したいexample.com
する必要があります:
config.twitter.callback_url "#{Rails.hostname}/auth/callback?provider=twitter"
...しかしrequest.host
私が知っていることを知っている唯一の方法です。コントローラーレベルでしか利用できません。
条件付きテストを使用し、環境ごとに手動でホスト名を設定できますが、私は異なるローカルおよびステージング環境でテストするので、これをプログラムで設定するだけでよいでしょう。
提案がありますか?
バックティックはありますか? "config.twitter.callback_url"#{\\ hostname \ '}/..." 'のように? – Andrew
はい、はい、バックチック。 Railsコンソールで簡単にテストすることができます。コンソールに移動してバッククォートで "hostname"と入力すると、返される内容が表示されます。 –
非常に役に立ちました、ありがとう! – Andrew