2013-06-11 12 views
1

Я запускаю рельсы в общей папке nfs в бродячем поле. Пока работает сервер (тонкий/webrick), я редактирую файлы на своем хосте. Но я должен продолжать останавливать и перезапускать сервер приложений, чтобы увидеть изменения, отраженные в webapp. Это нормальное поведение?Vagrant общая папка с сервером rails

+0

Возможно, эта же проблема - http://stackoverflow.com/questions/4879604/i-have-to-restart-apache-every-time-i-change-my-rails-code –

+0

@MattCooper Нет, я думаю, это это другой зверь. Это процесс синхронизации между хостом и бродящей виртуальной машиной. – basgys

ответ

2

Я иду эту проблему на коробке 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 и имеет некоторые преимущества, но для меня это не работает, потому что у меня заканчивается свободное пространство, если мне нужно сделать копию моего рабочего пространства на каждой виртуальной машине, ,