4

호스트가 승객 구성 파일 (예 : apache 구성 또는 vhosts 파일)을 수정할 수 없지만 devm 모드로 레일을 실행하고 싶습니다. 따라서 우리는 응용 프로그램이 다시 시작될 때로드되는 파일 중 하나에서 환경 (prod/dev/test)을 지정해야합니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까?어떻게 environment.rb 또는 이니셜 라이저 내에서 RAILS_ENV = 개발을 강제합니까?

우리는 행운과 함께 다음 시도했다 :

#environment.rb (before any other code is executed) 
    `RAILS_ENV=development`   # using back ticks 
    ENV['RAILS_ENV'] = 'development' # assigning to a constant 
    RAILS_ENV='development'   # as suggested by one of the answers, unfortunately does not work. 

답변

5

왜 당신은 당신의 생산을 변경하지 마십시오 .rb 설정은 development.rb에있는 설정과 일치합니까? 당신이 추가 할 수 envriornment.rb에서

+0

이렇게해야합니다. 이름으로 "생산"에 관한 불가사의는 없습니다. 모든 설정을 바꿔야합니다 (config/environments/production.rb 파일을 잊지 마세요). – edebill

+0

Eggsellente ... 처음에는 그렇게하지 않았습니다 ... 음 ... 터널 비전으로 고통 받습니까? – btelles

5

오른쪽으로 environment.rb의 상단을 설정 :

RAILS_ENV = 'development' 

을해야한다. 승객이 이것을 무시할 수도 있습니다. 당신이 승객 설정에 액세스 할 수없는하지만 당신은 가상 호스트에 대한 액세스이있는 경우

당신은 단지 거기에 강제 할 수

RailsEnv development 
+0

불행히도 용감한 시도이지만 주사위는 없습니다. 그리고 우리는 또한 vhosts 파일에 대한 액세스 권한이 없다는 것이 확실하도록 질문을 수정했습니다. – btelles

2

는 :

RAILS_ENV="production" 
RAILS_ENV.freeze 

나중에 다시 얻을하려고 그런 식으로, 실패합니다.

나중에 다른 파생물이 나올지 또는 레일 내의 모든 곳으로 침투 할 것인지 확실하지 않습니다.

1

ENV["RAILS_ENV"]environment.rb에 설정하는 대신 boot.rb에서 설정하십시오. 자세한 내용은 here을 참조하십시오.

-2

RAILS_ENV = "생산" RAILS_ENV.freeze/ENV 나중에 다시 설정하려고하면 오류가 발생합니다.

나중에 다른 파생물이 나올지 또는 레일 내의 모든 곳으로 침투 할 것인지 확실하지 않습니다.

관련 문제