在Rails 3.1中添加一个新的资产path
有谁知道如何添加另一个文件夹到Rails 3.1的资产pipe道?
我想提供app/assets/fonts
相同的方式app/assets/images
提供。
更新:5-7-2013
只是为未来发现这个问题的人添加一些说明,以明确地添加一个资产path,在你的application.rb文件中:
config.assets.paths << "#{Rails.root}/app/assets/fonts"
但是,由于上面的path是在app/assets
您不必明确添加它,您只需重新启动您的导轨应用程序,以便链轮可以捡起它。
您将不得不明确地添加app/assets
, lib/assets
或vendor/assets
之外的path,只记得当Sprockets在您的应用程序加载时存在的文件夹中select新文件时,根据我的经验,不会在资产path中挑选新的文件夹而无需重新启动。
安德鲁, app/assets/fonts
实际上已经在您的资产负载path,以及images
。 所以你可以用同样的方式指向资产: <%= asset_path('/Ubuntu/Ubuntu-R-webfont.eot') %>
[1]或者你如何引用你的图片。
我花了一段时间把头围绕在这里。 我仍然不知道如果app/assets/fonts
和app/assets/images
的文件名相同,会发生什么情况。
[1]假设你在app/assets/fonts/Ubuntu/Ubuntu-R-webfont.eot
有一个字体
安德鲁,杰森同意了。 FWIW我把它放在我的config / application.rb旁边
# Enable the asset pipeline config.assets.enabled = true config.assets.paths << "#{Rails.root}/app/assets/fonts"
通过创buildapp/assets/images
和app/assets/fonts
他们将被自动添加到资产path。
打开导轨控制台后创build它们并检查:
y Rails.application.config.assets.paths
( y
是yaml
方法的捷径)
它在不添加path的情况下工作,但要小心使用资源的有效文件名。
url("#{asset_path 'fontawesome-webfont.eot'}?#iefix") format('embedded-opentype'), ... url("#{asset_path 'fontawesome-webfont.svg'}#FontAwesome") format('svg');
例如,在这种情况下,请在字体文件名外面留下?#iefix
我可以确认它的工作原理,而无需在Rails 3.1.0.rc4中添加新的path(假设更高)。 我反弹了我的服务器,你可能也这样做。
创buildassets/fonts
文件夹,并添加一些字体,并使用您的CSS文件的主题如下
@font-face { font-family: Sawasdee; src: url(Sawasdee.ttf); }