Bootstrap 3 Glyphicons未显示在rails生产服务器上

时间:2015-08-20 11:07:42

标签: css ruby-on-rails twitter-bootstrap ruby-on-rails-4 glyphicons

我无法在我的实时服务器上加载 Bootstrap 3 Glyphicons 字体,这些字体在我的本地服务器上运行良好,但在实时服务器上却无法正常工作。

我已尝试过各种各样的东西,从SO到一切,但它仍然不适合我。

这是我正在做的事情:

applicatin.css.scss

@import "bootstrap-sprockets";
@import 'home';
@import "bootstrap";

@font-face {
    font-family: 'Glyphicons Halflings';
    src: url("/assets/bootstrap/glyphicons-halflings-regular.eot");
    src: url("/assets/bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), 
        url("/assets/bootstrap/glyphicons-halflings-regular.woff2") format("woff2"), 
        url("/assets/bootstrap/glyphicons-halflings-regular.woff") format("woff"), 
        url("/assets/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"), 
        url("/assets/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg");
}

到目前为止我尝试过:

@import "bootstrap-sprockets";
@import 'home';
@import "bootstrap";

@font-face {
    font-family: 'Glyphicons Halflings';
    src: url("/assets/bootstrap/glyphicons-halflings-regular.eot");
    src: url("/assets/bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), 
        url("/assets/bootstrap/glyphicons-halflings-regular.woff2") format("woff2"), 
        url("/assets/bootstrap/glyphicons-halflings-regular.woff") format("woff"), 
        url("/assets/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"), 
        url("/assets/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg");
}

@import "bootstrap-sprockets";
@import 'home';
@import "bootstrap";

@import url("http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css");

@import "bootstrap-sprockets";
@import 'home';
@import "bootstrap";

@import url("//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css");

@import url("http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css");
@import "bootstrap-sprockets";
@import 'home';
@import "bootstrap";

@import url("//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css");
@import "bootstrap-sprockets";
@import 'home';
@import "bootstrap";

但是所有这些对我来说都不起作用,但它们在本地服务器上运行良好。

4 个答案:

答案 0 :(得分:9)

这是阻碍你的资产管道......

请按照以下步骤进行修复:

  1. 将字体文件 glyphicons-halflings-regular。* 复制到文件夹 you-app-path / vendor / assets / fonts
  2. 将文件 boostrap.css 复制到文件夹 you-app-path / vendor / assets / stylesheets
  3. 将复制的文件 boostrap.css 重命名为 boostrap.css.erb
  4. 编辑文件 boostrap.css.erb 调整 @ font-face 变量,如下所示:

    @font-face {
      font-family: 'Glyphicons Halflings';
      src: url('<%= asset_path('glyphicons-halflings-regular.eot')%>');
      src: url('<%= asset_path('glyphicons-halflings-regular.eot')%>?#iefix') format('embedded-opentype'),
      url('<%= asset_path('glyphicons-halflings-regular.woff2')%>') format('woff2'),
      url('<%= asset_path('glyphicons-halflings-regular.woff')%>') format('woff'),
      url('<%= asset_path('glyphicons-halflings-regular.ttf')%>') format('truetype'),
      url('<%= asset_path('glyphicons-halflings-regular.svg')%>#glyphicons_halflingsregular') format('svg');
    }
    

  5. 在文件 you-app-path / config / initializers / assets.rb 中添加/调整以下行:

  6. Rails.application.config.assets.precompile += %w(*.svg *.eot *.woff *.woff2 *.ttf)
    
    1. 将此行添加到文件 you-app-path / app / assets / stylesheets / application.css.scss
    2. *= require bootstrap
      1. 最后,重新启动你的rails应用程序,一切都应该有效。

答案 1 :(得分:2)

您可以将所有字体放在文件夹#{Rails.root}/public/fonts文件夹中,并根据以下内容更改代码。

@font-face {
    font-family: 'Glyphicons Halflings';
    src: url('/fonts/glyphicons-halflings-regular.eot');
    src: url('/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('/fonts/glyphicons-halflings-regular.woff') format('woff'), url('/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('/fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');
  }

答案 2 :(得分:1)

进行这些更改

@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('../fonts/glyphicons-halflings-regular.eot');
  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');
}

如果再次没有加载任何其他Glyphicons然后更改其路径../fonts/并且它将得到解决

答案 3 :(得分:0)

我的症状与我的CDN的CORS问题引起的症状相同。一旦我最终打开浏览器的JavaScript控制台,就很明显了。