Среда разработки Rails 3 поддерживает кеширование даже без кеширования? - PullRequest
19 голосов
/ 13 апреля 2011

У меня есть приложение rails 3 в режиме разработки, которое не загружает никаких изменений, которые я делаю, когда запущен webrick.Я трижды проверил настройки моего development.rb и убедился, что я работаю в режиме разработки.

config.cache_classes = false
config.action_controller.perform_caching = false

Я также проверил мой каталог tmp, чтобы убедиться, что папка кеша пуста - мне еще предстоитделать кеширование на сайте и никогда не включать кеширование.я предполагаю, что это проблема загрузки файлов.

также я работал на webrick, затем установил монгрел, и проблема все еще сохраняется.

я предполагаю, что я столкнулся с проблемой конфигурации, потому что я не вижу, чтобы кто-нибудь еще публиковал такую ​​проблему.что-нибудь еще, что мне не хватает?

РЕДАКТИРОВАТЬ: похоже, что мои помощники вида не загружаются автоматически - разве помощники по умолчанию не должны перезагружаться в рельсах 3?

Ответы [ 5 ]

5 голосов
/ 24 октября 2011

У меня был похожий опыт, но я не верю, что это было с реальным вспомогательным классом, это было с чем-то, что я написал в каталоге lib/. Если вам приходилось использовать оператор require 'some_class', вам следует переключить его на:

require_dependency 'some_class'

Сработало как шарм для меня.

3 голосов
/ 03 апреля 2015

У меня была такая же проблема, и вот простое решение.
В вашем config/environments/development.rb установите следующие настройки:

config.action_controller.perform_caching = false
config.perform_caching = false
config.cache_store = :null_store
1 голос
/ 18 апреля 2012

Была такая же проблема, она была вызвана гемом rails-dev-tweaks, который, если вы использовали конфигурацию по умолчанию из README, отключал перезагрузку стека при запросах AJAX.

1 голос
/ 10 февраля 2012

Я знаю, что это старый вопрос, но для тех, кто приходит сюда с подобной проблемой, убедитесь, что вы случайно не переместили production.rb с config/environments/ на config/initializers/, как я.Это заставит Rails читать в файле production.rb и переопределять ваши настройки разработки.Упс.

0 голосов
/ 16 мая 2017

Я использую Rails 4, и мой вызов кеша был в помощнике, используя Rails.cache.fetch.

Немного погуглив, я обнаружил эту проблему (https://github.com/rails/rails/issues/20733),, где PR был объединен с документацией по rails 5, чтобы прояснить, что '

Изменение значенияconfig.action_controller.perform_caching повлияет только на кэширование, обеспечиваемое компонентом Action Controller. Например, оно не повлияет на низкоуровневое кэширование, которое мы рассмотрим ниже.

', будучи'низкоуровневое кэширование 'Rails.cache.fetch.

Сейчас он в документации: http://guides.rubyonrails.org/caching_with_rails.html

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