Ошибка пути к активам в Spree/Ruby on Rails
Я создаю свой второй магазин "spree" в локальной среде разработки для работы над проектом электронной торговли с использованием драгоценного камня Spree для RubyOnRails.
Первый магазин работает, но когда я отключил "сервер rails" для store1 и попытался запустить его для store2, когда я перейду к http://localhost:3000
, я получаю эту ошибку:
Звездочки:: Rails:: Helper:: AbsoluteAssetPathError в Spree:: индекс Home
Отображение/Users/pivot/.rvm/gems/ruby-2.0.0-p481/gems/spree_frontend-2.3.2/app/views/spree/shared/_head.html.erb, где строка # 7 поднята:
Имена объектов, переданные помощникам, не должны включать префикс "/assets/". Вместо "/assets/favicon.ico" используйте "favicon.ico"
Извлеченный источник (вокруг строки # 7):
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1" name="viewport">
<%== meta_data_tags %>
<%= canonical_tag(current_store.url) %>
<%= favicon_link_tag image_path('favicon.ico') %> #THIS IS THE HIGHLIGHTED LINE
<%= stylesheet_link_tag 'spree/frontend/all', :media => 'screen' %>
<%= csrf_meta_tags %>
<%= javascript_include_tag 'spree/frontend/all' %>
Отслеживание включения шаблона:/Users/pivot/.rvm/gems/ruby-2.0.0-p481/gems/spree_frontend-2.3.2/app/views/spree/layouts/spree_application.html.erb
Эта ошибка исходит из файла просмотра spree, и строка нарушения фактически просто передается в "favicon.ico", а не "assets/favicon.ico", поэтому я не знаю, что происходит.
Ответы
Ответ 1
я столкнулся с той же ошибкой.
Он вводится sprockets-rails 2.1.4, для которого не требуется больше префикса /assets для favicon_link_tag.
Возможно, по каким-то причинам, когда был выпущен spree 2.3.2, драгоценный камень с цепными рельсами был в версии 2.1.3.
Я исправляю это, редактируя Gemfile.lock, меняя вручную версию sprockets-rails с 2.1.4 до 2.1.3 (в моем конкретном случае камни не требуют именно этой версии, проверьте свой Gemfile.lock, чтобы убедиться в этом!!!).
Я полагаю, что в будущих версиях это будет исправлено, поэтому обновление драгоценных камней звездочек-рельсов не вызовет больше ошибок.