我注意到,當我更改rails項目文件(如html.erb
或.css
)時,我不必使用rails -s
命令重新啓動服務器。我何時需要在Rails中重新啓動服務器?
但我想當我想安裝一個新的寶石我必須。事情是,我試圖讓jQuery工作,所以我厭倦了所有的時間做rails -s
。
任何人都可以告訴我什麼時候我必須再次運行rails -s
當我修改我的應用程序,什麼時候我可以承擔不這樣做?通過不這樣做,我的意思是刷新網頁以查看更改。
我注意到,當我更改rails項目文件(如html.erb
或.css
)時,我不必使用rails -s
命令重新啓動服務器。我何時需要在Rails中重新啓動服務器?
但我想當我想安裝一個新的寶石我必須。事情是,我試圖讓jQuery工作,所以我厭倦了所有的時間做rails -s
。
任何人都可以告訴我什麼時候我必須再次運行rails -s
當我修改我的應用程序,什麼時候我可以承擔不這樣做?通過不這樣做,我的意思是刷新網頁以查看更改。
當你需要從一開始重新加載Rails時,你需要重新啓動服務器。
如果你正在添加或刪除寶石,那麼是的,你將需要重新啓動服務器。
如果你改變你的ruby版本,改變你的Gemfile或者改變Rails的內部類,你需要重新啓動它,否則它應該沒問題。但是如果出現意想不到的問題,重新啓動服務器是您應該嘗試的第一件事。
此外,在一個側面說明,你只會看到剛剛刷新如果config.cache_classes
設置爲false
頁面的變化(我認爲這是發展的默認值,但不用於生產)。
編輯:
只是爲了確保每個人都會注意到,tadman說,在評論,這裏一般的經驗法則一個明智的做法是應用程序/或配置/ routes.rb文件之外更改任何東西或db /將需要重啓。
好的回答:-) +1 –
這裏的一般經驗是對'app /'或'config/routes.rb'之外的任何東西進行更改都需要重新啓動。 – tadman
無論何時安裝或更新gem,如果您升級ruby,或者如果您更改某些啓動時運行的邏輯(如config/boot.rb或config/database.yml),您通常都需要重新啓動服務器。 。否則,即使您編輯/添加模型/控制器,通常也不會。
附註:jquery-rails gem使jquery添加到項目很容易。
在發展,你需要時重新啓動:
Gemfile
刪除/更新的寶石。rvm
對ruby環境進行其他更改。config/
下的任何文件,但routes.rb
已爲您重新加載。require
的任何文件,而不是自動加載。在生產需要時重新啓動:
N.B.如果需要,可以通過編輯相應的environment/<env>.rb
文件來更改這些行爲,但默認值是合理的。
可能的重複[如何在開發模式下重新加載每個請求上的寶石?](http://stackoverflow.com/questions/6191635/how-to-reload-a-gem-on-every-request-in -Development-mode) – Nakilon