Автоматическое обновление CSS из SASS / SCSS в Rails? - PullRequest
4 голосов
/ 14 июня 2010

Возможно, я не совсем понимаю, как работает SASS / SCSS в Rails (2.3.8.), Но у меня сложилось впечатление, что, если я включу опцию

Sass::Plugin.options[:always_update] = true

что всякий раз, когда я изменял свой файл SCSS и затем снова нажимал на страницу (контроллер), SCSS перекомпилировался.

Я не могу заставить это работать, и не могу найти хороший учебник / пример для этого. Я попытался установить вышеупомянутое свойство в файле Environment.rb, но оно, похоже, ничего не делало. Я попытался поместить его в собственный инициализатор с помощью require 'sass', но, похоже, это тоже не сработало.

Чего мне не хватает? Или я просто вынужден держать терминал открытым с помощью команды sass --watch, чтобы иметь возможность быстро отлаживать / изменять мои стили?

1010 * ТНХ *

Ответы [ 4 ]

2 голосов
/ 12 сентября 2011

Я использую рельсы 3.1, но у меня была та же проблема. В самоцвете sass-rails документация гласит:

:always_update - This option is not supported. Sprockets uses a controller to access stylesheets in development mode instead of a full scan for changed files.

, который может объяснить, почему ваш :always_update параметр не работает.

Для моей проблемы это было в значительной степени потому, что у меня config.action_controller.perform_caching в development.rb было установлено в true (чтобы исправить какую-то другую ошибку в старом геме). Поэтому, чтобы исправить это, я изменил это на:

# config/environments/development.rb
config.action_controller.perform_caching = false
0 голосов
/ 09 июня 2012

У меня была проблема, я называю мои файлы оканчивающимися на .css.scss.После использования .scss все работает.

0 голосов
/ 05 августа 2010

Вы должны перезагрузить обычный просмотр контроллера, а не только таблицу стилей напрямую.

Кстати, как сказано в документации, :always_update обновляет CSS-файлы при каждой перезагрузке контроллера:

Должны ли файлы CSS обновляться каждый раз при обращении к контроллеру, а не только после изменения шаблона.По умолчанию false.Имеет значение только в Rack, Ruby on Rails или Merb.

0 голосов
/ 20 июня 2010

Убедитесь, что вы запускаете compass init в вашем проекте rails.Будет установлено следующее:

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