2014-01-11 106 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應該出現。

相關問題