我是一名有用的助手,可以为您翻译文本。
我正在使用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
,而且它只在控制器级别可用。
我可以使用条件测试并手动设置每个环境的主机名,但是当我在不同的本地和暂存环境中进行测试时,仅仅通过编程方式来设置将会更好。
有什么建议吗?
config.twitter.callback_url "#{\
hostname`}/..."`? - Andrew