2013-07-18 12 views
37

Ich habe festgestellt, dass, wenn ich Schienen Projektdateien wie eine html.erb oder .css ändern, muss ich den Server mit dem rails -s Befehl nicht neu starten.Wann muss ich den Server in Rails neu starten?

Aber ich denke, wenn ich ein neues Juwel installieren will muss ich. Die Sache ist, dass ich versuche, jQuery zur Arbeit zu bringen, also bin ich es leid, die ganze Zeit rails -s zu machen.

Kann mir jemand sagen, wann ich wieder rails -s ausführen muss, wenn ich meine App modifiziere und wann kann ich es mir leisten, es nicht zu tun? Wenn ich es nicht mache, möchte ich einfach die Webseite aktualisieren, um die Änderungen zu sehen.

+0

mögliche Duplikate von [Wie man einen Edelstein bei jeder Anfrage im Entwicklungsmodus neu lädt?] (Http://StackOverflow.com/questions/6191635/how-to-reload-a-gem-on-every-request-in -Entwicklungsmodus) – Nakilon

Antwort

50

Sie müssen Ihren Server neu starten, wenn Rails von Anfang an neu geladen werden muss.

Wenn Sie Edelsteine ​​hinzufügen oder entfernen, dann müssen Sie den Server neu starten.

Wenn Sie Ihre Version von Ruby ändern, ändern Sie Ihre Gemfile oder etwas aus internen Klassen von Rails ändern, müssen Sie es neu starten, sonst sollte es in Ordnung sein. Wenn jedoch unerwartete Probleme auftreten, sollten Sie den Server neu starten.

Außerdem werden Sie nur die Änderungen sehen nur die Seite nur aktualisieren, wenn config.cache_classes auf false gesetzt ist (was ich denke, ist der Standard für die Entwicklung, aber nicht für die Produktion).

Edit:

nur sicher, dass jeder machen wird bemerken, Tadman sagte eine kluge Sache bei den Kommentaren, Die allgemeine Faustregel ist, um Änderungen zu etwas außerhalb von app/oder config/routes.rb machen oder db/erfordert einen Neustart.

+2

gute Antwort :-) +1 –

+8

Die allgemeine Faustregel hier ist, Änderungen an etwas außerhalb von 'app /' vorzunehmen oder 'config/routes.rb' erfordert einen Neustart. – tadman

1

Sie müssen den Server normalerweise immer neu starten, wenn ein Juwel installiert oder aktualisiert wird, wenn Sie Ruby upgraden, oder wenn Sie eine Logik ändern, die während des Bootens ausgeführt wird (wie config/boot.rb oder config/database.yml) . Ansonsten ist es generell ok, auch wenn Sie Modelle/Controller bearbeiten/hinzufügen.

Seitliche Anmerkung: die jquery-rails gem macht Hinzufügen von jquery zu einem Projekt einfach.

15

In der Entwicklung müssen Sie neu starten, wenn:

  • Sie hinzufügen/entfernen/Update Edelsteine ​​in Ihrer Gemfile.
  • Sie machen eine andere Änderung in der Ruby-Umgebung, vielleicht über rvm.
  • Sie ändern alle Dateien unter config/, obwohl routes.rb für Sie neu geladen wird.
  • Sie ändern alle Dateien, die Sie require manuell statt Autoloading.

In der Produktion müssen Sie neu starten, wenn:

  • Sie einen Code ändern oder Edelsteine.

N.B. Diese Verhaltensweisen können geändert werden, indem die entsprechende Datei falls gewünscht bearbeitet wird, obwohl die Standardeinstellungen sinnvoll sind.

Verwandte Themen