Как избежать прекомпиляции в Rails> = 3.1 конвейера ресурсов при изменении application.js - PullRequest
1 голос
/ 16 марта 2012

Я предварительно скомпилировал свои файлы в конвейере ресурсов после обновления до rails 3.1 (и позже до 3.2). Теперь (работая в режиме разработки) я должен перекомпилировать их после каждого изменения, чтобы увидеть их появление.Поскольку это занимает около минуты, разработка практически невозможна.

Я сделал следующие соответствующие записи в config/development.rb

config.cache_classes = false

# Show full error reports and disable caching
config.consider_all_requests_local       = true
config.action_controller.perform_caching = false

# Do not compress assets
config.assets.compress = false

config.assets.compile = true

# Expands the lines which load the assets
config.assets.debug = true

# Raise exception on mass assignment protection for Active Record models
config.active_record.mass_assignment_sanitizer = :strict

# Log the query plan for queries taking more than this (works
# with SQLite, MySQL, and PostgreSQL)
config.active_record.auto_explain_threshold_in_seconds = 0.3

# configuration option config.assets.logger to control Sprockets logging
config.assets.logger = nil

Что не так?Как я могу внезапно увидеть изменения, которые я делаю в application.js и других?

Ответы [ 2 ]

3 голосов
/ 16 марта 2012

Нужно сделать вручную

 $ bundle exec rake assets:clean

Что удалит все файлы в [app]/public/assets/. (Осторожно с другими файлами, принадлежащими модели (например, фото пользователей), они также удаляются!).

Когда файлы не существуют, используются оригинальные. Таким образом, предварительная компиляция ресурсов не требуется для режима разработки.

Спасибо @ shingara за подсказку в своем комментарии к вопросу.

0 голосов
/ 06 февраля 2013

Что-то, что может быть фактором, если следующая директива находится в config / application.rb:

config.assets.precompile  += [ 'asset-file', ... ]

Это должно быть либо ограничено «фиксированными» файлами активов, либо перенесено в config / environment / production.rb.

Не уверен, что это происходит с вашей ситуацией, однако это даст аналогичные результаты, если вы не увидите изменений после редактирования файла ресурсов. Отсутствие предварительной компиляции ресурсов избавит вас от необходимости компилировать их каждую итерацию в разработке.

...