加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails 4.1 – ActionController :: RoutingErr

发布时间:2020-12-17 04:28:48 所属栏目:百科 来源:网络整理
导读:我觉得我尝试了我在这里和一些博客上找到的所有解决方案,但有些事情仍然是错误的,我不知道是什么. 我的错误: ...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 ma
我觉得我尝试了我在这里和一些博客上找到的所有解决方案,但有些事情仍然是错误的,我不知道是什么.

我的错误:

...
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"):
...

当然在localhost上它也不起作用.

我正在使用rails 4.1.1

我的字体位于:

assets/fonts/amaze.ttf

我甚至重新定位它以检查它是否可行:assets / amaze.ttf -it不是.

我在application.css.scss文件中的当前解决方案:

@font-face {
  font-family: 'Amaze';
  src: font-url('amaze.ttf');
}

.amaze {
  font-family: 'Amaze';
}

我在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/

我是否还需要在应用程序或开发/生产文件中配置任何内容?

编辑

(种类)固定问题

问题是我的字体坏了……

更多细节:
我有http://fontzone.net/download/amaze-normal的字体
并且它被打破了(我的意思是没有完全破碎,它适用于linux,但没有使用font-face,不知道为什么,如果值得任何人的努力尝试弄清楚问题是什么)

我尝试了另一个来源的另一种字体:
http://www.fontcubes.com/Amaze.font

它工作了! yey! –

编辑

我有更多字体(otf和ttf)的类似问题所以我会说问题仍然是开放的; p

解决方法

使用Asset Pipeline或将字体移动到公共目录.

您的问题是路径/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 /中.双字体目录确保在编译资产后/ public / assets中有一个字体目录.有关详细信息,请参阅this answer.
>将fonts目录移动到公共目录:

由于请求的路径无论如何都不使用Asset Pipeline,您只需将fonts目录移动到/ public /目录,Web服务器就会自动为其服务.所以你的字体应该位于/public/fonts/amaze.ttf等.

应该这样做!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读