2016-03-28 131 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”);'应该工作!上面复制并添加了 –