簡體   English   中英

我什么時候需要在Rails中重啟服務器?

[英]When do I need to restart server in Rails?

我注意到當我更改rails項目文件(如html.erb.css ,我不必使用rails -s命令重新啟動服務器。

但我想當我想安裝一個新寶石時,我必須這樣做。 問題是我正在努力讓jQuery工作,所以我厭倦了一直做rails -s

任何人都可以告訴我,當我修改我的應用程序時,我什么時候必須再次運行rails -s ?什么時候可以負擔得起? 如果不這樣做,我的意思是只需刷新網頁即可查看更改。

當您需要從一開始就重新加載Rails時,需要重新啟動服務器。

如果您要添加或刪除gem,那么是的,您將需要重新啟動服務器。

如果你改變你的ruby版本,更改你的Gemfile或從Rails的內部類改變一些東西,你需要重新啟動它,否則它應該沒問題。 但是如果出現意外問題,重啟服務器是你應該嘗試的第一件事。

另外,在旁注中,如果config.cache_classes設置為false (我認為是開發的默認設置,而不是生產版),您只會看到更新只是刷新頁面。

編輯:

為了確保每個人都注意到,tadman在評論中說了一句明智的事情, 這里的一般經驗法則是對app /或者/ routes之外的任何內容進行更改.rb或db /將需要重新啟動。

在開發中,您需要在以下時間重啟:

  • 您在Gemfile添加/刪除/更新gems。
  • 您可以通過rvm對ruby環境進行其他更改。
  • 您可以更改config/下的任何文件,但會為您重新加載routes.rb
  • 您更改的任何文件require手動,而不是自動加載。

在生產中,您需要重新啟動時:

  • 您可以更改任何代碼或寶石。

注意如果需要,可以通過編輯相應的environment/<env>.rb文件來更改這些行為,盡管默認值是合理的。

每當安裝或更新gem時,如果升級ruby,或者更改某些在引導期間運行的邏輯(如config / boot.rb或config / database.yml),通常需要重新啟動服務器。 否則,即使您編輯/添加模型/控制器,通常也不會。

旁注: jquery-rails gem可以輕松地將jquery添加到項目中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM