图标在部署时使用rails,使用花式扩展进行狂欢

时间:2013-12-17 22:21:20

标签: html ruby-on-rails icons spree dev-to-production

我使用rails 4.0.2狂欢2-1稳定运行。我添加了狂欢的扩展。
开发服务器上的一切看起来都很好。

当我部署到制作时,图标会中断(例如购物车,搜索,帐户图标)。图标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,一切看起来都一样。任何建议或见解将不胜感激。

3 个答案:

答案 0 :(得分:3)

我在使用rails 4.0.2和spree 2-1-stable时遇到了同样的问题,过去4个小时我找到了一个解决方法。你已经自己提到了,但也许它会节省一些时间(即使它不是一个真正的解决方案):

找到丢失的.woff或其他内容,然后将它们复制到正确的目录中。就我而言,那些是必要的:

    来自github.com/spree/spree_fancy

  1. icon.wuff

  2. 来自here的fontawesome-webfont.woff

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

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

答案 1 :(得分:1)

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

RAILS_ENV=production bundle exec rake assets:precompile

答案 2 :(得分:1)

暂时更改生产环境的数据库配置文件,设置为在config\database.yml中使用Sqlite3 gem

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'已经不存在,请Gemfile添加$ bundle install && RAILS_ENV=production bundle exec rake assets:precompile 并执行

Gemfile

生成文件时,请撤消config\database.yml$ bundle install执行{{1}}并部署

中的更改