【问题标题】:Why is rails server trying to load favicon.ico?为什么 Rails 服务器试图加载 favicon.ico?
【发布时间】:2012-06-13 15:06:18
【问题描述】:

据我所知,我并没有以任何形式或形式引用 favicon.ico,但我对 rails 服务器(处于开发模式)的每个请求都以以下结尾:

Started GET "/assets/ico/favicon.ico" for 127.0.0.1 at 2012-06-12 20:18:02 -0700
Served asset /ico/favicon.ico - 404 Not Found (3ms)

ActionController::RoutingError (No route matches [GET] "/assets/ico/favicon.ico"):
  actionpack (3.2.3) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (3.2.3) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
  railties (3.2.3) lib/rails/rack/logger.rb:26:in `call_app'
  railties (3.2.3) lib/rails/rack/logger.rb:16:in `call'
  actionpack (3.2.3) lib/action_dispatch/middleware/request_id.rb:22:in `call'
  rack (1.4.1) lib/rack/methodoverride.rb:21:in `call'
  rack (1.4.1) lib/rack/runtime.rb:17:in `call'
  activesupport (3.2.3) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
  rack (1.4.1) lib/rack/lock.rb:15:in `call'
  actionpack (3.2.3) lib/action_dispatch/middleware/static.rb:62:in `call'
  railties (3.2.3) lib/rails/engine.rb:479:in `call'
  railties (3.2.3) lib/rails/application.rb:220:in `call'
  rack (1.4.1) lib/rack/content_length.rb:14:in `call'
  railties (3.2.3) lib/rails/rack/log_tailer.rb:14:in `call'
  rack (1.4.1) lib/rack/handler/webrick.rb:59:in `service'
  /Users/twler/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
  /Users/twler/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
  /Users/twler/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'

这是与 webrick 相关的问题,还是我需要更改一些配置选项或什么?

编辑:我将 favicon.ico 放在 app/assets/ico/favicon.ico、lib/assets/ico/favicon.ico 和 public/favicon.ico 中。 favicon 徽标甚至出现在我的浏览器中,但 rails 服务器仍然在日志中显示 404。有什么建议吗?

【问题讨论】:

    标签: ruby-on-rails-3 favicon webrick


    【解决方案1】:

    这不是 Rails - 网络浏览器会自动请求它。

    【讨论】:

    • 最近在 Rails 或 webrick 中是否发生了一些变化以开始显示这个?我以前没有显示过这个...
    • Rails 默认在 'public' 中包含一个,这是浏览器默认请求它的地方,但是如果您在 中有一行指定了不同的位置,它们通常会监听到那个。我不会费心为您的网站图标使用管道,但如果您这样做,您可能需要查看 Rails 将.ico 请求路由到哪个文件夹(可能是images,但也可能是icons;我'我不确定)。
    • 谢谢,我检查了 ,它为 Twitter Bootstrap 粘贴了一些内容。将其更改为适当的目录,一切都很好!
    【解决方案2】:

    浏览器会自动查找您网站的网站图标(您在地址栏和书签中的 URL 旁边看到的图标)。最简单的方法是创建一个 favicon 并将其保存到 /assets/ico/favicon.ico。

    【讨论】:

    • 我已尝试放入 app/assets/ico/favicon.ico、lib/assets/ico/favicon.ico 和 public/favicon.ico。这些似乎都没有任何效果。我刚刚在这里创建了图标:favicon.cc
    • @tyler Rails 可能不会检查 assets/ico/ 中的任何内容。试试assets/imagesassets/icons
    • 将 favicon.ico 文件放在 assets 目录中是有意义的......但上述位置都不适合我。有人解决了吗?
    • 有人吗?浪费这么多时间的愚蠢问题,但现在它正在浪费我的时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-14
    • 1970-01-01
    • 2018-05-01
    • 1970-01-01
    • 2017-05-19
    • 2017-12-20
    • 1970-01-01
    相关资源
    最近更新 更多