2016-05-10 3 views
6

Ich habe ziemlich viel Erfahrung bei der Entwicklung von Rails 4 Apps auf Mac OS X + Docker Machine + Docker Compose, aber etwas hat sich mit der Rails 5 Caching geändert Dateien in der Entwicklungsumgebung (derzeit mit RC1 testen).Dockerized Rails 5 RC1 Anwendung nimmt keine Updates für Controller und Modelle in Entwicklung

Nach dem Starten der Anwendung mit docker-compose up läuft die Anwendung normal im Entwicklungsmodus.

Aber wenn ich einen Controller oder ein Modell ändere, ist der einzige Weg, wie ich das in der Anwendung widerspiegeln kann, den Server zu stoppen und es wieder zu starten.

So jetzt mein Workflow sieht so etwas wie, wenn ich mit einem Controller oder das Modell eine Änderung vornehmen müssen:

  1. Make Änderung Controller/Modellklasse.
  2. Stoppen Sie den Server mit Ctrl + C.
  3. Starten Sie den Server mit docker-compose up.
  4. Warten Sie auf dem Server, um zu starten.
  5. Führen Sie, was auch immer ich im Browser ausgeführt wurde.

gelinde gesagt, die Schritte zu tun, um 2-4 ärgerlich ist und nicht, was ich zu von Rails gewöhnt 4.

Ich ging einen Schritt weiter und deinstalliert Frühling die Removal instructions, aber ich bekomme immer noch das gleiche Verhalten.

Ich suchte auch nach Einstellungen, die ich in config/environments/development.rb im Zusammenhang mit der Rails Runtime Eisen Griff auf die Modell-und Controller-Klassen finden konnte, und ich konnte nichts finden. (Ich nehme an, dass es sich wirklich darauf verlassen will, das Dateisystem zu beobachten, um Änderungen selektiv zu laden, und etwas wird nicht von einer Änderung auf Mac zu VirtualBox aufgehoben.)

Andere Ideen auf, was ich versuchen kann? Oder gibt es neue Einstellungen, die sich darauf beziehen, wie dieses aggressivere Caching funktioniert?

+0

Alle Nachrichten zu diesem Thema? Auch mit config.file_watcher = ActiveSupport :: FileUpdateChecker nichts für mich. Rails aktualisiert Code erst, wenn ich nicht mit docker-compose up neugestartet bin. Wie zu beheben, auch mit Workaround? –

+0

Große Frage. Ich habe genau das gleiche Problem, Rails5, Docker-Compose und OSX Sierra.Keine Controller/Gebietsschemas Änderungen, aber Ansichten erb werden aus irgendeinem Grund aktualisiert. Letzte Woche in einer Rails4 App hatte das Problem nicht. – unmultimedio

Antwort

4

Ich benutze Schienen 5 rc1.

Rails 5 einige "Verbesserungen" eingeführt, um Code neu zu laden, aber es scheint nicht mit Docker auf OS X zu arbeiten

So in config/environments/development.rb, ersetzte ich

config.file_watcher = ActiveSupport::EventedFileUpdateChecker

mit

config.file_watcher = ActiveSupport::FileUpdateChecker

Es scheint, dass für die Active :: Eve NtedFileUpdateChecker File Watcher, das Änderungsereignis tritt nicht für docker-machine freigegebene Dateien auf

+0

Verwenden Sie die Beta von Docker für Mac oder Ihre eigene Docker Machine mit VirtualBox? Ich scheine weniger Probleme damit zu haben, nachdem ich Spring mit dem neuen Docker für Mac deaktiviert habe, der viel besser vom Host auf die Gast-VM geladen werden kann. –

+0

Dies liefert keine Antwort auf die Frage. Sobald Sie genügend [Reputation] (http://stackoverflow.com/help/whats-reputation) haben, können Sie [jeden Beitrag kommentieren] (http://stackoverflow.com/help/privileges/comment); stattdessen [geben Sie Antworten, die keine Klärung durch den Fragesteller erfordern] (http://meta.stackexchange.com/questions/214173/why-doe-i-need-50-reputation-to-comment-what-can- i-do-stattdessen). - [Aus Bewertung] (/ review/low-quality-posts/12929922) –

+0

@michalmuskala Ich stimme nicht mit dem überein, was einer von euch sagt. –

Verwandte Themen