разница между тремя режимами разработки в рельсах - PullRequest
2 голосов
/ 03 мая 2010

В чем разница между тремя режимами в рельсах: -

 In development mode, Rails reloads models each time a browser sends in a request,
 so the model will always reflect the current database schema.

EDIT Я спрашивал о других различиях. Я упомянул один, я искал другой список отличий ... !!

Ответы [ 2 ]

7 голосов
/ 03 мая 2010

Все сводится к производительности и стабильности. В рабочем режиме модели кэшируются в памяти, а это означает, что после однократного чтения файлы не нужно читать снова, что дает очевидное преимущество в скорости. Это означает, что если вы измените файл ruby ​​(например, app / models / page.rb), в котором определена модель, это изменение не будет выполнено до следующей перезагрузки.

По умолчанию следующая строка находится в config / средах / production.rb:

config.cache_classes = true

Предполагается, что когда вы находитесь в производственном режиме, вы не будете изменять свой код, кроме как посредством выпуска или развертывания. Если вы хотите очистить кеш, вам нужно перезапустить приложение.

Среда разработки будет перезагружать ваши модели при каждом получении запроса. Это контролируется следующей строкой по умолчанию в config / environment / development.rb:

config.cache_classes = false

Что касается «третьего» режима, я предполагаю, что вы имеете в виду тестовый режим. Это также кэширует модели по умолчанию (см. Config / environment / test.rb), опять же с предположением, что вы не будете изменять свою кодовую базу в середине тестового прогона.

Кстати, это не просто модели - я уверен, что этот параметр охватывает любые классы, найденные в каталоге 'app'. Кроме того, вы обнаружите, что даже в режиме разработки классы, расположенные в другом месте приложения (например, «lib»), нельзя изменить без перезапуска приложения.

5 голосов
/ 03 мая 2010

Поведение трех режимов настраивается в:

rails_app/config/environments/[production|development|test].rb

Таким образом, зависит от вашей конфигурации, как три режима отличаются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...