2013-07-18 2 views
37

html.erb 또는 .css과 같은 레일스 프로젝트 파일을 변경할 때 rails -s 명령을 사용하여 서버를 다시 시작할 필요가 없음을 알았습니다.언제 레일에서 서버를 다시 시작해야합니까?

하지만 새로운 보석을 설치하고 싶을 때가 있습니다. 문제는 jQuery를 작동 시키려고하기 때문에 항상 rails -s을 수행하는 것에 지쳤습니다.

내 앱을 수정할 때 rails -s을 다시 실행해야 할 때 언제 알려 줄 수 있습니까? 언제 할 수 있습니까? 그렇게하지 않으면 단순히 웹 페이지를 새로 고침하여 변경 사항을 확인하는 것입니다.

+0

가능한 [개발 모드의 모든 요청에 ​​보석을 다시로드하는 방법?] (http://stackoverflow.com/questions/6191635/how-to-reload-a-gem-on-every-request-in) -development-mode) – Nakilon

답변

50

처음부터 레일스를 다시로드해야 할 때 서버를 다시 시작해야합니다.

보석을 추가하거나 제거하는 경우 서버를 다시 시작해야합니다.

루비의 버전을 변경하거나 Gemfile을 변경하거나 내부 클래스의 레일스에서 ​​변경하려면 다시 시작해야합니다. 그렇지 않으면 다시 시작해야합니다. 그러나 예기치 않은 문제가 발생하면 먼저 서버를 다시 시작해야합니다. 이 false으로 설정되어있는 경우 사이드 노트에서 페이지를 새로 고치는 것만 볼 수 있습니다 (개발의 기본값이지만 생산은 아님).

편집 :

그냥 모든 사람이 알 수 있도록, tadman는 코멘트, 여기 엄지 손가락의 일반적인 규칙에 하나 개의 현명한 것은 앱/또는 설정/routes.rb 이외의 아무것도를 변경하는 것을 특징으로

또는 db /는 다시 시작해야합니다.

+2

좋은 대답 :-) +1 –

+8

여기서는 일반적으로 'app /'또는'config/routes.rb'의 바깥쪽에있는 내용을 변경하면 다시 시작해야합니다. – tadman

1

보석을 설치하거나 업데이트하거나, 루비를 업그레이드하거나, 부팅 중에 실행되는 로직 (예 : config/boot.rb 또는 config/database.yml)을 변경하는 경우 일반적으로 서버를 다시 시작해야합니다. . 그렇지 않으면 비록 당신이 모델/컨트롤러를 편집/추가하더라도 일반적으로 그렇게하지 않는 것이 좋습니다.

사이드 노트 : jquery-rails gem은 jquery를 프로젝트에 쉽게 추가합니다.

15

개발에서는 때 다시 시작해야합니다 당신은/추가하려면 Gemfile에/업데이트 보석을 제거

  • .
  • 당신은 아마도 rvm을 통해 루비 환경을 약간 변경해야합니다.
  • config/ 아래의 파일은 모두 변경되지만 routes.rb은 다시로드됩니다.
  • 자동 로딩 대신 require 파일을 수동으로 변경합니다.

생산에서 당신은 때 다시 시작해야합니다

  • 당신은 어떤 코드 또는 보석을 변경합니다.

N.B.이 동작은 원하는 경우 각 environment/<env>.rb 파일을 편집하여 변경할 수 있습니다. 기본값은 의미가 있습니다.

관련 문제