Конвейер ресурсов Rails 4 теряет активы поставщиков

Я не могу понять, как заставить звездочки находить активы в vendor/assets. Я отталкивал проблему, добавляя все свои активы в app/assets, но это становится слишком загроможденным.

Я прочитал документацию и попытался добавить все следующие строки в свой файл application.rb.

config.assets.paths << "#{Rails.root}/vendor/assets/*"
config.assets.paths << "#{Rails.root}/vendor/assets/fonts"
config.assets.paths << "#{Rails.root}/vendor/assets/stylesheets"
config.assets.precompile << Proc.new { |path|
  if path =~ /\.(eot|svg|ttf|woff)\z/
    true
  end

Они работают локально, но когда я отправляю их на сервер, там нет ни одного из активов моего поставщика. Я использую capistrano для развертывания и знаю, что при обновлении возникли некоторые проблемы. Это могло быть корнем проблемы, но я следовал документации, чтобы развернуть (почти) все в порядке.


person Peter Klipfel    schedule 06.10.2013    source источник


Ответы (2)


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

Фейспалм

ИЗМЕНИТЬ:

Чтобы уточнить: все, что мне нужно было сделать, это изменить

if path =~ /\.(eot|svg|ttf|woff)\z/

to

if path =~ /\.(eot|svg|ttf|woff|otf)\z/
person Peter Klipfel    schedule 08.10.2013
comment
можете поделиться, какое решение было в конкретике, а не в реферате для нубов? ^^ - person ahnbizcad; 01.11.2014
comment
@gwho: к ответу добавлены подробности - person Peter Klipfel; 02.11.2014

Когда вы запускаете rake assets:precompile, вы вручную настраиваете env для производства?

Команда должна читать:

RAILS_ENV=production rake assets:precompile

person AntelopeSalad    schedule 08.10.2013