2012-03-09 8 views
9

У меня есть приложение Rails 3.1, и по какой-то причине, когда я меняю CSS, изменения не отображаются. Я сделал bundle exec rake assets:precompile, и это помогло раз, но теперь я застрял со старым CSS, несмотря ни на что.Rails-активы не обновляются

ответ

14

Как ваши активы теперь прекомпилированы вам необходимо очистить их следующий

bundle exec RAILS_ENV=development rake rails_group=assets assets:clean 
+0

hmm не помогло ..? /Users/username/.rvm/rubies/ruby-1.9.3-p0/bin/ruby/Users/username/.rvm/gems/ruby-1.9.3-p0/bin/rake assets: clean: все RAILS_ENV = производство RAILS_GROUPS = активы btw проблема, о которой я говорил, проявляется в разработке .. – Stpn

+0

сделал это несколько раз, и это помогло .. странно, но спасибо!)) – Stpn

+0

Вы можете сказать, как отключить предварительную компиляцию актива для разработки, чтобы можно было сразу увидеть изменения, внесенные в .css? – Stpn

5

Вы можете попробовать реки активы: чистые, а затем грабли активы: прекомпиляция

+1

сделал это. Ничего не изменилось (старый css обслуживается). – Stpn

+1

Когда я это сделал, я заметил в ошибке, что он выполнял задачу рейка в 'rake assets: clean: all RAILS_ENV = production RAILS_GROUPS = assets'..once Я переключил его на' development', он работал красиво! :) спасибо. – RGB

3

Для меня это было просто удалить скомпилированные файлы css/js из общего каталога.

Оказалось, что другие разработчики положили его туда и никому не сообщили.

+0

Я тоже должен был это сделать, но это не другой разработчик, это прекомпилятор. – OneHoopyFrood

5

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

Сначала я должен был сделать:

rake assets:clean 

Убедившись я был в правой среде

Затем мне нужно удалить каталог public/assets, который создает прекомпиляцию (или просто файл, который нужно исправить, application-<hash>.css, например)

Тогда, наконец, повторно запустить

rake assets:precompile 

И перезапустите мой сервер Apache (я использую пассажира с apache, не тестировался с nginx)

0

В случае, если любые будущие поисковые роботы найдут эту тему: у меня была такая же проблема в тестовой среде приложения Rails 4.2.8. Ни одно из вышеперечисленных решений не работало. Установка config.serve_static_files = false в config/environments/test.rb решена.

Помните, что это временное исправление, так как все файлы в папке public больше не обслуживаются (включая 404.html, favicon.ico, robots.txt и т. Д.).

0

То, что работало для меня в рельсах, хром, макинтош:

1 - В терминале:

rake assets:clean 

2 - В Sublime текста или в Finder:

Удаляет «Public> Активы "папку

3 - В терминальном сервере запуск LOCALHOST:

rails s 

4 - В хроме:

http://localhost:3000/ 

5 - Reload хром очистка кэша, если соответствующая:

cmd + shift + R 

Теперь вы должны быть в состоянии обновить CSS файлы и увидеть немедленные изменения на локальном хосте просто перегрузочные на странице

НЕ ИСПОЛЬЗУЙТЕ «rake assets: precompile» в терминале, потому что он воссоздает папку «активы» в «общедоступной» папке и лет u не сможет видеть обновления ваших файлов css прямо в вашем локальном хосте

Смежные вопросы