Модели остаются в кэше при запуске в разработке после обновления до Rails 3.2.

Я обновил проект с Rails 3.1 до Rails 3.2, и теперь, во время разработки, каждый раз, когда я обновляю модель, мне нужно перезапустить сервер, чтобы изменения вступили в силу. Изменения в представлениях и контроллерах вступают в силу немедленно.

Я почти уверен, что это связано с обновлением, потому что ни в одном из моих новых проектов в Rails 3.2 нет этой проблемы. Я сравнил development.rb и application.rb из старого проекта с файлами из новых проектов, и они идентичны. Не могу найти ответ в сети, может кто знает что делать?

Привет, Бен


person ben    schedule 11.05.2012    source источник


Ответы (2)


Попробуйте посмотреть в файле development.rb. Должна быть строка с config.cache_classes, она должна быть установлена ​​на false, чтобы гарантировать, что вам не нужно перезапускать сервер, чтобы отразить изменения, которые вы вносите в различные классы:

# development.rb
config.cache_classes = false
person ekampp    schedule 01.12.2012
comment
Эй, Эмиль, спасибо за ответ. К сожалению, для cache_classes уже установлено значение false. Я пытался сравнить все файлы в папке config с другими приложениями, где у меня нет этой проблемы, они кажутся идентичными... Я мог что-то упустить, но не знаю что. - person ben; 02.12.2012

У меня также постоянно появлялись сообщения warning: already initialized constant, поэтому я искал решение этой проблемы. Похоже, его решение также устранило мою проблему с кешем. В основном вам нужно удалить грабли и переустановить их через пакет... Ответ здесь: https://stackoverflow.com/a/7553276/1389981

person ben    schedule 13.12.2012