2016-03-28 196 views
0

我試圖找出如何適應使用的保鮮引導主題在Rails的4導軌 - 資產管道

的主題使用簡單線圖標 - Rails中4應用程序中使用的字體供應商的供應商中的CSS 。我試圖將這些文件移動到我的應用程序/資產文件夾中的字體文件夾以及供應商/資產/ css文件夾中的css文件以及供應商/資產/ javascript文件夾中的js文件夾。

我不明白如何重寫CSS中的路徑,以引用資產的方式,將導軌讀取它們。

例如,CSS文件中的一個包括以下內容:。

@font-face { 
    font-family: 'Simple-Line-Icons'; 
    src: url("../../fonts/Simple-Line-Icons.eot"); 
    src: url("../../fonts/Simple-Line-Icons.eot?#iefix") format("embedded-opentype"), url("../../fonts/Simple-Line-Icons.woff") format("woff"), url("../../fonts/Simple-Line-Icons.ttf") format("truetype"), url("../../fonts/Simple-Line-Icons.svg#Simple-Line-Icons") format("svg"); 
    font-weight: normal; 
    font-style: normal; 
} 

據我所知,URL(../ ..部分是軌道的一個問題我想不通是怎麼解決這個問題。

我已經安裝在我的生產環境中軌,12factor寶石。我已經嘗試了一百萬的變化(在軌導示),但我無法找到任何工作。

能任何人看到該怎麼辦?

本文建議在引用供應商資產字體文件時不要包含'fonts'文件夾。 https://gist.github.com/iamatypeofwalrus/6467148

我試過包括和排除它,但都不行。

本文建議供應商文件不能在不修改初始程序的情況下存儲字體。我嘗試過,但它也不起作用。 Using fonts with Rails asset pipeline

Rails.application.config.assets.paths 
=> ["/Users/cf3/app/assets/images", "/Users/cf3/app/assets/javascripts", "/Users/cf3/app/assets/stylesheets", "/Users/cf3/vendor/assets/fonts", "/Users/cf3/vendor/assets/javascripts", "/Users/cf3/vendor/assets/stylesheets", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/underscore-rails-1.8.3/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/gmaps4rails-2.1.2/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/chosen-rails-1.4.3/vendor/assets/images", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/chosen-rails-1.4.3/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/chosen-rails-1.4.3/vendor/assets/stylesheets", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/chartkick-1.4.1/app/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/formtastic-2.2.1/app/assets/stylesheets", "/Users/lem/.rvm/gems/ruby-2.3.0/bundler/gems/surveyor-5281b317a559/lib/assets/images", "/Users/lem/.rvm/gems/ruby-2.3.0/bundler/gems/surveyor-5281b317a559/lib/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/bundler/gems/surveyor-5281b317a559/lib/assets/stylesheets", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/dependent-fields-rails-0.4.2/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/cocoon-1.2.6/app/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/jquery-rails-4.0.5/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/coffee-rails-4.1.0/lib/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/bundler/gems/momentjs-rails-eda1b74512db/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/bootstrap-slider-rails-5.3.1/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/bootstrap-slider-rails-5.3.1/vendor/assets/stylesheets", "Rails/vendor/assets/fonts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/bootstrap-sass-3.3.5.1/assets/stylesheets", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/bootstrap-sass-3.3.5.1/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/bootstrap-sass-3.3.5.1/assets/fonts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/bootstrap-sass-3.3.5.1/assets/images", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/font-awesome-sass-4.4.0/assets/stylesheets", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/font-awesome-sass-4.4.0/assets/fonts"] 

Heroku的

我現在發現這個帖子,這表明,在生產Heroku的合規性,我需要更換與資產路徑傭工一切,重命名文件添加.erb圖像和css和.coffee到js。在我這樣做之前,有人可以確認這實際上是必需的,以及我將如何改變上述css文件以符合heroku的要求。

http://joanswork.com/wrapbootstrap-theme-to-rails/

+0

把這些文件的應用程序/資產目錄你可以通過路徑src:url(「/ assets/Simple-Line-Icons.eot」)來訪問它們;' –

+0

不,有供應商的css文件和供應商的js文件,所以我需要把它們放在一起。我嘗試過供應商/資產/字體,但它不起作用 – Mel

回答

2

實際上任何子目錄加入assets目錄是自動添加到負載 路徑。這些目錄中的文件可以作爲普通資產 文件訪問。

如果你有

vendor/assets/fonts/Simple-Line-Icons.eot 

然後供應商/資產/字體/應加載荷路徑。

然後您可以將所有的字體文件添加到您的CSS文件與路徑:font/file_name

記住在此之後重新啓動服務器的負載路徑將重新啓動服務器後重新加載。

您可以通過下面的命令看到的負載路徑列表通過rails console

Rails.application.config.assets.paths 

您可以通過以下命令添加新的負載路徑:

config.assets.paths << Rails.root.join("vendor", "assets", "fonts") 
OR to autoload : config.autoload_paths << Rails.root.join("vendor", "assets", "fonts") 
+0

供應商/資產/字體/簡單線圖標或供應商/資產/簡單線圖標均不起作用。我不知道你的意思是關於font/file_name。上面的例子展示瞭如何在css文件中使用它(使用src url)。我的控制檯檢查器在兩種方式下都顯示404錯誤 – Mel

+0

在您的rails控制檯中運行此Rails.application.config.assets.paths並在此處粘貼輸出。 –

+0

'src:url(「/ assets/Simple-Line-Icons.eot」);'應該工作!上面複製並添加了 –