Html 图标在使用rails部署时断开,具有奇特扩展的spree

Html 图标在使用rails部署时断开,具有奇特扩展的spree,html,ruby-on-rails,icons,spree,dev-to-production,Html,Ruby On Rails,Icons,Spree,Dev To Production,我有spree 2-1-stable和rails 4.0.2。我添加了spree fancy扩展。 在开发服务器上,一切看起来都很好 当我部署到生产时,图标会中断(例如购物车、搜索、帐户图标)。html的图标是: <i class="icon-basket"></i> 我可以通过删除以下行在我的开发环境中复制此问题:font-family:“icons”。这个问题发生在Heroku和我自己运行nginx的服务器上。检查两个页面上的源html和css,所有内容看起来都一样

我有spree 2-1-stable和rails 4.0.2。我添加了spree fancy扩展。
在开发服务器上,一切看起来都很好

当我部署到生产时,图标会中断(例如购物车、搜索、帐户图标)。html的图标是:

<i class="icon-basket"></i>

我可以通过删除以下行在我的开发环境中复制此问题:
font-family:“icons”
。这个问题发生在Heroku和我自己运行nginx的服务器上。检查两个页面上的源html和css,所有内容看起来都一样。如果您有任何建议或见解,我们将不胜感激。

我在rails 4.0.2和spree 2-1-stable上遇到了同样的问题,我花了4个小时才找到解决办法。您自己已经提到过,但可能会为其他人节省一些时间(即使这不是一个真正的解决方案):

只要找到丢失的.woff或任何东西,并将它们复制到正确的目录。就我而言,这些都是需要的:

  • icon.wuff from

  • fontawesome-webfont.woff来自

  • 来自jquery的ui-bg_flat_75_ffffff_40x100.png(只需谷歌搜索)


  • 只需将它们插入服务器/浏览器抱怨的目录。

    这对我来说很有效。您需要使用生产环境进行预编译

    RAILS_ENV=production bundle exec rake assets:precompile
    

    config\database.yml

    default: &default
      adapter: sqlite3
      pool: 5
      timeout: 5000
    development:
      <<: *default
      database: db/development.sqlite3
    test:
      <<: *default
      database: db/test.sqlite3
    production:
      <<: *default
      database: db/production.sqlite3
    

    生成文件时,撤消
    Gemfile
    config\database.yml
    中的更改,执行
    $bundle安装
    和部署

    您是否在heroku中进行资产预编译?@UriMikhli-是的,在推到heroku之前,我必须预编译资产。spree必须在初始化期间访问数据库(或类似的操作)。在推送到heroku之前,您是否将您的/资产保存到repo?@UriMikhli是的。日志显示浏览器请求服务器找不到的图像文件(例如“/logo3.png”)。我无法在开发服务器日志中找到此类文件。谢谢。类似的事情正在发生在我们身上,Dev和Staging是正确的,但是当部署到Prod(nginx Unicorn)时,图标都是错误的。我们没有使用spree fancy,而是安装了fontello。我们相信这与fontello.svg文件有关,但仍然不确定发生了什么。当我弄明白这一点时,我会在这里发布一个答案。如果你先弄明白了,请把答案贴出来。
    default: &default
      adapter: sqlite3
      pool: 5
      timeout: 5000
    development:
      <<: *default
      database: db/development.sqlite3
    test:
      <<: *default
      database: db/test.sqlite3
    production:
      <<: *default
      database: db/production.sqlite3
    
    $ bundle install && RAILS_ENV=production bundle exec rake assets:precompile