Rree上的Spree/Ruby中的资产路径错误

mat*_*owe 10 ruby ruby-on-rails spree

我正在本地开发环境中建立我的第二个"狂欢"商店,使用Spree gem for RubyOnRails处理电子商务项目.

第一个商店工作,但当我关闭store1的"rails服务器"并尝试为store2启动它时,当我去http://localhost:3000我得到这个错误:


Sprockets :: Rails :: Helper :: Spree :: Home #index中的AbsoluteAssetPathError

显示/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' %>
Run Code Online (Sandbox Code Playgroud)

模板包含的跟踪:/Users/pivot/.rvm/gems/ruby-2.0.0-p481/gems/spree_frontend-2.3.2/app/views/spree/layouts/spree_application.html.erb


这个错误来自一个狂欢视图文件,而有问题的行实际上只是传入"favicon.ico"而不是"assets/favicon.ico",所以我不知道发生了什么.

小智 20

我遇到了同样的错误.它由sprockets-rails 2.1.4引入,不再需要favicon_link_tag的/ assets前缀.

也许由于某些原因,当spree 2.3.2发布时,sprockets-rails gem的版本为2.1.3.

我修复它编辑Gemfile.lock,手动将sprockets-rails的版本从2.1.4更改为2.1.3(在我的特定情况下,没有gems需要完全相同的版本,检查你的Gemfile.lock以确保这一点! ).

我想在将来的版本中这将被修复,因此更新sprockets-rails gem将不会产生更多错误.