2014-01-11 60 views
5

我意识到有类似的问题已经在这里得到解答,但其中许多答案都是使用gems或直接修改Bootstrap的文件。虽然这些是有效的配置,但我想增加在这方面的知识(Sprockets,Rails Pipeline,一般的前端开发),并且想了解为什么这不起作用,底层问题是什么。Bootstrap 3 Glyphicon errors

的Ruby 2.0.0-P353来说,Rails 4.0.2,3.0.3引导,Nginx的1.4.4,乘客4.0.33

我下载了最新的引导拉链从他们的网站上,执行的所有操作的发现here将这些文件直接包含到我的应用程序中,并且能够让我的开发环境中的字形完全按照预期显示。但是,当我部署到生产环境时,图形显示为Chrome中的正方形。我将glyphicons文件的单个文件扩展名添加到生产预编译中,并验证它们显示在我的公共/资产文件夹中。 js/css文件和glyphicon文件之间的唯一区别在于没有gif文件与glyphicon文件并列。

production.rb:

config.assets.precompile = ['*.js', '*.css', '*.eot', '*.svg', '*.ttf', '*.woff'] 

我知道Rails的负荷资产的开发和生产之间的不同,但为什么没有看到或者在生产中理解glyphicon资产?有没有一种方法可以用我当前的配置来解决这个问题,还是我需要改变包含这些资源的方式以允许我修复这个错误?

另外,在开发和生产中,每次渲染使用图形的页面时都会出现以下错误,但图标仍显示出来。这是相关的吗?

  • 的ActionController :: RoutingError(没有路由匹配[GET] “/fonts/glyphicons-halflings-regular.woff”)
  • 的ActionController :: RoutingError(没有路由匹配[GET] “/字体/ glyphicons,半身人,regular.ttf“)
  • 的ActionController :: RoutingError(无路由匹配[GET] ”/fonts/glyphicons-halflings-regular.svg“)
+1

同样的问题在这里 –

+0

+1无法让它工作 –

+1

'@import“bootstrap-sprockets”'之前'@import“bootstrap”'帮助了我,但我不知道问题的原因。 – Kote

回答

3

您应该手动下载glyphicons字体手动从网站 并将其放入您的应用程序/资产/样式表/字体文件夹。

有一些问题,就是没有固定的bootstrapgem

您可以参考以下链接

Bootstrap 3 Glyphicons are not working

0
  1. config/application.rbclass Application < Rails::Application后添加以下。它应该是这样的:

    class Application < Rails::Application 
        config.assets.paths << "#{Rails}/vendor/assets/fonts" 
    
  2. 在终端上,通过运行编译你的资产:

    rake assets:precompile RAILS_ENV=development 
    
  3. 编辑bootstrap.css文件通过改变从../fonts/@font-face资源地点/assets/。它应该是这样的:

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

大功告成。只需重新启动与rails s和glyphicons应该出现。

相关问题