나는 Sorcery for Authentication을 사용하고 있으며 이니셜 라이저에 제 3 자 인증을 설정해야합니다.레일 : 이니셜 라이저에서 호스트 이름 얻기
config.twitter.callback_url "http://example.dev/auth/callback?provider=twitter"
... 내가 지역 발전에 탕을 사용하고 때 example.dev
는 호스트 이름입니다 :
이니셜 라이저는 다음과 같습니다 라인을 가지고있다.
config.twitter.callback_url "#{Rails.hostname}/auth/callback?provider=twitter"
...하지만 request.host
: 그것은 준비에 있다면 응용 프로그램 등,
staging.example.com
생산, 또는 경우에 example.com
할 필요가 내가 알고있는 유일한 방법은 그것을 알고 컨트롤러 수준에서만 사용할 수 있습니다.
조건부 테스트를 사용하고 각 환경에 대해 수동으로 호스트 이름을 설정할 수 있지만 다른 로컬 및 준비 환경에서 테스트 할 때 프로그래밍 방식으로 설정할 수 있다는 것이 좋습니다.
제안 사항?
백틱이 있습니까? 'config.twitter.callback_url "# {\\ hostname \'}/..."'에서와 같이? – Andrew
예, 맞습니다. Rails 콘솔로 쉽게 테스트 할 수 있습니다. 콘솔로 들어가서 backticks로 "hostname"을 입력하면 되돌아 오는 것을 볼 수 있습니다. –
매우 도움이됩니다. 감사합니다! – Andrew