복붙노트

[RUBY-ON-RAILS] 레일 3 개발을위한 기본 URL 변경

RUBY-ON-RAILS

레일 3 개발을위한 기본 URL 변경

나는 내 응용 프로그램은 다음과 같습니다 기본 URL을 실행하는 환경에 배포 할거야 알고 :

http://someserver/mydepartment/myapp

내 개발 환경이 기본값을 사용하도록 설정은 다음과 같습니다 구성을 레일 :

http://localhost:3000/myapp

내 개발 환경에서이 배포 경로를 모델링하고 싶습니다. 그건 내가 다음과 같습니다 기본 URL을 개발하고자한다 :

http://localhost:3000/mydepartment/myapp

그런 식으로, 나는 "/"를 기준으로 내 모든 URL을 만들 수 있으며이 두 환경에서 작동합니다.

내 응용 프로그램 내 개발 환경에서이 경로에서 살 것이다, 그래서 어떻게 그것을 바꿀 수 있나요?

솔루션 내가 찾은하지만 나를 위해 작동하지 않습니다

해결법

  1. ==============================

    1.당신은 다른 base_uri에 레일 응용 프로그램 랙 구성 매핑을 시도 할 수 있습니다. 당신이해야 할 모든지도 블록에 기존의 '실행'명령을 포장입니다

    당신은 다른 base_uri에 레일 응용 프로그램 랙 구성 매핑을 시도 할 수 있습니다. 당신이해야 할 모든지도 블록에 기존의 '실행'명령을 포장입니다

    당신의 레일 'config.ru'파일에이 일을 시도 :

    map '/mydepartment' do
        run Myapp::Application
    end
    

    3000 / mydepartment : 당신은 '서버를 레일'이제 때 응용 프로그램은 로컬 호스트에 있어야합니다. 확실하지이 당신에게 원하는 결과지만, 가치의 시도를 줄 것이다 경우.

  2. ==============================

    2.여기에 당신이 더 이상 존재하지 config.action_controller.relative_url_root 교체, 아파치의 하위 디렉토리에 레일 3.1 응용 프로그램을 배포 할 수있는 방법입니다.

    여기에 당신이 더 이상 존재하지 config.action_controller.relative_url_root 교체, 아파치의 하위 디렉토리에 레일 3.1 응용 프로그램을 배포 할 수있는 방법입니다.

    설정 / routes.rb에서 :

    scope 'my_subdir' do
      # all resources and routes go here
    end
    

    아파치 설정 파일에서 :

    Alias /my_subdir /var/www/my_subdir/public
    <Location /my_subdir>
      SetEnv RAILS_RELATIVE_URL_ROOT "/my_subdir"
      PassengerAppRoot /var/www/my_subdir
    </Location>
    

    그리고 자동 / my_subdir에 모든 자산을 가리키는 포함하여 작동합니다.

  3. ==============================

    3.설정 / environment.rb에의 끝에 선 아래 추가

    설정 / environment.rb에의 끝에 선 아래 추가

    ActionController::Base.relative_url_root = "/mydepartment"
    
  4. from https://stackoverflow.com/questions/5558900/changing-the-base-url-for-rails-3-development by cc-by-sa and MIT license