routes -/favicon.ico 被附加到 Rails 4 路由

标签 routes ruby-on-rails-4

这是一个奇怪的问题。我今天启动了一个新的 Rails 4 应用程序,然后创建了一个名为 transfer_functions 的资源。当我点击像 localhost:3000/transfer_functions/1 这样的网址时,它会将/favicon.ico 附加到它的末尾,我在服务器控制台中收到此错误。

ActionController::RoutingError (No route matches [GET] "/transfer_functions/1/favicon.ico"):
有任何想法吗?谢谢!
该应用程序正在使用“turbolinks” gem。
更新:
我正在使用 Twitter Bootstrap 并使用相应的生成器创建应用程序布局。我从我的 application.html.haml 文件中删除了这一行,它解决了这个问题。
%link(href="favicon.ico" rel="shortcut icon")
不知道我明白为什么这会导致问题。

最佳答案

出现错误的原因是因为您删除的行实际上是在说“在当前目录中查找 favicon.ico”。你发布的那个haml代码渲染成html,看起来像<link href="favicon.ico..." .

你应该处理一个图标的方式是这样的:

  • 将您的图标文件放在此目录中:your_webapp/app/assets/images/
  • 编辑 your_webapp/app/views/layouts/application.html.haml并在文档标题下添加以下内容:= favicon_link_tag

  • Rails 将使用 Assets 管道来为网站图标提供服务,就像任何其他站点 Assets 一样。您只需要文件名,不需要在 url 中包含图像文件夹。

    如果您对文档感兴趣:http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html#method-i-favicon_link_tag

    您还可以添加任何您需要的内容到 rel

    关于routes -/favicon.ico 被附加到 Rails 4 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15308321/

    相关文章:

    ruby-on-rails-4 - 事件管理侧边栏动态标题

    routes - 有约束的牛仔路由不断失败

    ruby-on-rails - Rails - 从数据库 session 中分离模型

    sql - 有没有办法使用组来选择 Rails 中分组记录的 ID?

    javascript - Node.js 和 Express 要求来自单独文件的路由仅适用于索引路由

    ruby-on-rails - 在 Action 之间存储数据

    ruby-on-rails - Rails 运行程序出现段错误 (Rails 4.0.0 Ruby 2.2.2p95 CentOS7)

    php - 如何在ajax URL路由中添加变量

    c# - 如何做高级 ASP.NET MVC (3) 路由(计算操作等)?

    routes - `play dist` , `main.css` 返回 404