Routes /favicon.ico附加到Rails 4路线
这是一个奇怪的。我今天启动了一个新的Rails 4应用程序,然后创建了一个名为transfer_functions的资源。当我点击像localhost:3000/transfer_functions/1这样的url时,它会在它的末尾附加/favicon.ico,我在服务器控制台中得到这个错误Routes /favicon.ico附加到Rails 4路线,routes,ruby-on-rails-4,Routes,Ruby On Rails 4,这是一个奇怪的。我今天启动了一个新的Rails 4应用程序,然后创建了一个名为transfer_functions的资源。当我点击像localhost:3000/transfer_functions/1这样的url时,它会在它的末尾附加/favicon.ico,我在服务器控制台中得到这个错误 ActionController::RoutingError (No route matches [GET] "/transfer_functions/1/favicon.ico"):
ActionController::RoutingError (No route matches [GET] "/transfer_functions/1/favicon.ico"):
有什么想法吗?谢谢
该应用程序正在使用“TurboLink”gem
更新:
我正在使用Twitter引导并使用相应的生成器创建应用程序布局。我从application.html.haml文件中删除了这一行,它解决了这个问题
%link(href="favicon.ico" rel="shortcut icon")
我不确定我是否理解为什么会出现问题。出现错误的原因是,您删除的行实际上是“在当前目录中查找favicon.ico”。您发布的haml代码呈现为类似于
的html。要在Rails 4应用程序中使用favicon.ico
文件,请在布局中使用favicon\u link\u标记
通常在application.html.slim
中:
DOCTYPE html
html
head
= favicon_link_tag
您还需要在app/assets/images
文件夹中有一个名为favicon.ico
的文件
:
返回加载favicon文件的链接。您可以指定不同的名称
第一个参数中的文件。助手接受附加选项
可以覆盖“rel”和“type”的哈希
选择权
:rel-指定此链接的关系,默认为“快捷方式图标”
:type-覆盖自动生成的mime类型,默认为
'image/vnd.microsoft.icon'
我们经常在日志中看到404请求favicon的“旧版本”。在每一个新版本(以及每一个新的预编译版本)上,都会生成一个带有唯一哈希的新favicon文件。在有人存储favicon的情况下,这似乎会中断,例如,在他/她的iOS主屏幕上放置指向您站点的快捷方式:图标丢失并显示一个中断的图标符号。因此,我们放弃了favicon\u link\u标签
/asset pipeline方法,通过简单地包括以下内容,恢复到存储在public
文件夹中的favicon:
<link href="favicon.ico">
<link href="favicon_ios.png" rel="apple-touch-icon" type="image/png">
这导致了一个问题,因为favicon通常位于您的_webapp/app/assets/images/中。
%link{:href => 'favicon.ico'}
%link{:href => 'favicon_ios.png', :rel => 'apple-touch-icon', :type => 'image/png'}