zom*_*ast 7 fonts ruby-on-rails font-face
我觉得我尝试了我在这里和一些博客上找到的所有解决方案,但有些事情仍然是错误的,我不知道是什么.
我的错误:
...
Started GET "/fonts/amaze.ttf" for 83.9.18.180 at 2014-11-26 09:10:21 +0000
...
app[web.1]: ActionController::RoutingError (No route matches [GET] "/fonts/amaze.ttf"):
...
Run Code Online (Sandbox Code Playgroud)
当然在localhost上也没有用.
我正在使用rails 4.1.1
我的字体位于:
assets/fonts/amaze.ttf
Run Code Online (Sandbox Code Playgroud)
我甚至重新定位它以检查它是否可行:assets/amaze.ttf -it不是.
我在application.css.scss文件中的当前解决方案:
@font-face {
font-family: 'Amaze';
src: font-url('amaze.ttf');
}
.amaze {
font-family: 'Amaze';
}
Run Code Online (Sandbox Code Playgroud)
我在application.rb中尝试了一些配置,但没有效果:
config.assets.enabled = true
config.assets.paths << "#{Rails.root}/app/assets/fonts"
config.serve_static_assets = true
config.assets.js_compressor = :uglifier
config.assets.compile = true
config.assets.digest = true
config.assets.version = '1.0'
config.assets.paths << Rails.root.join('app', 'assets', 'fonts')
config.assets.precompile << /\.(?:svg|eot|woff|ttf)\z/
Run Code Online (Sandbox Code Playgroud)
我是否还需要在应用程序或开发/生产文件中配置任何内容?
编辑
问题是我的字体坏了......
更多细节:我有来自这里的字体http://fontzone.net/download/amaze-normal 它被打破了(我的意思是没有完全破碎,它适用于linux,但没有使用font-face,不知道为什么,如果它是值得任何人的努力尝试找出问题所在)
我尝试了另一个来源的另一种字体:http: //www.fontcubes.com/Amaze.font
它工作了!yey!-
编辑
我有更多字体(otf和ttf)的类似问题所以我会说问题仍然是开放的; p
Jos*_*ter 17
fonts到public目录.您的问题是路径/fonts/amaze.ttf没有达到Rails Asset Pipeline./assets为了使用资产管道,需要先加上/assets/fonts/amaze.ttf或者/assets/amaze.ttf.
这里有两个主要选项:
更新路径请求:
所以用/assets/amaze.ttf而不是/fonts/amaze.ttf.
请注意,为了使路径/assets/fonts/amaze.ttf起作用,您需要将amaze.ttf字体放入/app/assets/fonts/fonts/或中/vendor/assets/fonts/fonts/.double fonts目录确保fonts在/public/assets编译资产之后有一个目录.有关详细信息,请参阅此答案.
将fonts目录移动到您的public目录:
由于请求的路径无论如何都不使用Asset Pipeline,您只需将fonts目录移动到/public/目录,Web服务器就会自动为其提供服务.所以你的字体应该位于/public/fonts/amaze.ttf,等等.
应该这样做!
小智 4
我也遇到过 font-awesome 这个问题,但这是我对字体的一般研究。
我在 app/assets 下创建一个新目录,名为 fonts。然后复制那里的所有字体并将其包含到application.rb文件中的资源中,如下所示:
config.assets.paths << Rails.root.join("app", "assets", "fonts")
Run Code Online (Sandbox Code Playgroud)
将 font-awesome.css 重命名为 font-awesome.css.scss.erb 并更改其中的 @font-face 声明,如下所示
@font-face { font-family: "FontAwesome"; src: url('<%= asset_path('fontawesome-webfont.eot')%>');
src: url('<%= asset_path('fontawesome-webfont.eot?#iefix')%>') format('eot'),
url('<%= asset_path('fontawesome-webfont.woff')%>') format('woff'),
url('<%= asset_path('fontawesome-webfont.ttf')%>') format('truetype'),
url('<%= asset_path('fontawesome-webfont.svg#FontAwesome')%>') format('svg');
font-weight: normal; font-style: normal; }
Run Code Online (Sandbox Code Playgroud)
希望这会有所帮助:) 还有更多参考Font-face
| 归档时间: |
|
| 查看次数: |
6422 次 |
| 最近记录: |