2

我在 Rails 4.0.2 上运行 2-1-stable。我添加了疯狂的扩展。
开发服务器上的一切看起来都很好。

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

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

CSS是:

.icon-basket:before { content: '\e73d'; }
[class^="icon-"]:before, [class*=" icon-"]:before {
    font-family: 'icons';
}

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

4

3 回答 3

3

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

只需找到丢失的 .woff 或其他文件并将它们复制到正确的目录即可。在我的情况下,这些是需要的:

  1. 来自 github.com/spree/spree_fancy 的icon.wuff

  2. fontawesome-webfont.woff 从这里

  3. 来自 jquery 的 ui-bg_flat_75_ffffff_40x100.png (只是谷歌它)

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

于 2014-01-15T19:29:14.000 回答
1

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

RAILS_ENV=production bundle exec rake assets:precompile
于 2014-07-08T21:07:09.450 回答
1

临时更改生产环境的数据库配置文件设置为使用Sqlite3 gemconfig\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

添加gem 'sqlite'到您的Gemfileif not present 并执行

$ bundle install && RAILS_ENV=production bundle exec rake assets:precompile

生成文件后,撤消更改Gemfileconfig\database.yml执行$ bundle install并部署

于 2014-10-27T01:05:42.257 回答