2011-08-05 3 views
0

Devise를 사용하고 있습니다. 두 개의 다른 영웅 앱에 동일한 레일 프로젝트를 적용해야합니다. 두 앱에 대해 서로 다른 호스트를 설정하는 방법이 있습니까?Devise에 대해 두 개의 호스트 구성을 설정하는 방법은 무엇입니까?

구체적으로 보면, production.rb는 config.action_mailer.default_url_options = {:host => 'appA.heroku.com'} 이고 appB는 production.rb가 config.action_mailer.default_url_options = {:host => 'appB.heroku.com'}이어야합니다.

그러나 동일한 production.rb에 두 줄을 모두 포함 할 수없는 것으로 보입니다.

답변

0

heroku 인스턴스에서 환경 변수를 사용하여 레일즈 앱에서 상수를 구분할 수 있습니다. 예를 들어

는 :

# production.rb 
config.action_mailer.default_url_options = { :host => ENV['ACTION_MAILER_HOST'] } 

그런 다음, 로컬 컴퓨터에 :

% cd /path/to/project/A 
% heroku config:add ACTION_MAILER_HOST=appA.heroku.com 
% cd /path/to/project/B 
% heroku config:add ACTION_MAILER_HOST=appB.heroku.com 

참조 및 더 많은 예를 들어,이 heroku article on environment variables를 참조하십시오.

0

이렇게하려면 config var을 사용해야합니다. 그렇게하면 값은 heroku 배포마다 설정되고 소스 코드에는 설정되지 않습니다. 자세한 내용은 heroku documentation을 참조하십시오.

관련 문제