Я запускаю рельсы в общей папке nfs в бродячем поле. Пока работает сервер (тонкий/webrick), я редактирую файлы на своем хосте. Но я должен продолжать останавливать и перезапускать сервер приложений, чтобы увидеть изменения, отраженные в webapp. Это нормальное поведение?Vagrant общая папка с сервером rails
ответ
Я иду эту проблему на коробке Vagrant, синхронизируя мою папку с NFS.
Я внесла изменения в свой конфигурационный файл разработки приложений (config/environments/development.rb
), просто добавив эту строку config.reload_classes_only_on_change = false
, и он работает.
Убедитесь, что у вас есть эта config.cache_classes = false
, а также, у меня было по умолчанию, когда я установка рельсы приложения (с использованием версии 4.1.5), так как, где я обнаружил, что обходной путь (http://edgeguides.rubyonrails.org/configuring.html) говорит, что config.reload_classes_only_on_chage = false
игнорируется, если config.cache_classes
является true
Другое решение - использовать механизм синхронизации брандмауэр Rsync, который is available from version 1.5 и имеет некоторые преимущества, но для меня это не работает, потому что у меня заканчивается свободное пространство, если мне нужно сделать копию моего рабочего пространства на каждой виртуальной машине, ,
Возможно, эта же проблема - http://stackoverflow.com/questions/4879604/i-have-to-restart-apache-every-time-i-change-my-rails-code –
@MattCooper Нет, я думаю, это это другой зверь. Это процесс синхронизации между хостом и бродящей виртуальной машиной. – basgys