4

認証に Sorcery を使用しており、その初期化子でサードパーティ認証をセットアップする必要があります。

イニシャライザには、次のような行があります。

config.twitter.callback_url "http://example.dev/auth/callback?provider=twitter"

...example.devローカル開発で Pow を使用している場合のホスト名はどこにありますか。これはexample.com、アプリが本番環境にある場合、またはstaging.example.comステージング中の場合などである必要があります。

この行を次のように設定したいと思います。

config.twitter.callback_url "#{Rails.hostname}/auth/callback?provider=twitter"

...しかしrequest.host、それを知っている唯一の方法であり、コントローラーレベルでのみ使用できます。

条件付きテストを使用して、各環境のホスト名を手動でセットアップできますが、さまざまなローカル環境とステージング環境でテストするとき、これをプログラムで設定できるだけで素晴らしいでしょう.

助言がありますか?

4

2 に答える 2

6

Socket.gethostnameRuby 標準ライブラリの一部である経由でホスト名を取得できます。

于 2013-12-30T18:06:43.623 に答える
5

使用する:

`hostname`

これはUnixの「hostname」ユーティリティを使用し、文字列を返します。

于 2012-03-19T02:51:15.877 に答える