如何从rails应用程序中删除favicon

时间:2012-06-18 20:32:10

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

我有一个rails 3.2.6应用程序,我正在使用资产管道,我没有favicon.ico但由于某些原因我的应用程序一直在寻找它导致问题

Started GET "/favicon.ico" for 127.0.0.1 at 2012-06-18 16:20:44 -0400
Processing by PlaylistsController#index as 

我不知道是什么导致这个被调用...我的应用程序中根本没有任何文本的图标

我的问题是,轨道中是否有一个地方我可以告诉它停止?

以下是我的头部信息以防万一

<head>
  <title>Playlist</title>
  <meta content='width=device-width, initial-scale=1.0' name='viewport'>
  <!--[if lt IE 9]>
    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
  <![endif]-->
  <link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" />
    <link href="/assets/common.css?body=1" media="all" rel="stylesheet" type="text/css" />
    <link href="/assets/app.css?body=1" media="all" rel="stylesheet" type="text/css" />
    <link href="/assets/bootstrap_and_overrides.css?body=1" media="all" rel="stylesheet" type="text/css" />
    <link href="/assets/jquery-ui-1.8.21.custom.css?body=1" media="all" rel="stylesheet" type="text/css" />
    <link href="/assets/main.css?body=1" media="all" rel="stylesheet" type="text/css" />
    <link href="/assets/dataTables/jquery.dataTables.css?body=1" media="all" rel="stylesheet" type="text/css" />
    <link href="/assets/dataTables/jquery.dataTables.bootstrap.css?body=1" media="all" rel="stylesheet" type="text/css" />
  <script src="/assets/jquery.js?body=1" type="text/javascript"></script>
    <script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
    <script src="/assets/dataTables/jquery.dataTables.js?body=1" type="text/javascript"></script>
    <script src="/assets/dataTables/jquery.dataTables.bootstrap.js?body=1" type="text/javascript"></script>
    <script src="/assets/jquery-ui.js?body=1" type="text/javascript"></script>
    <script src="/assets/bootstrap.js?body=1" type="text/javascript"></script>
    <script src="/assets/editable.js?body=1" type="text/javascript"></script>
    <script src="/assets/mutils.js?body=1" type="text/javascript"></script>
    <script src="/assets/custom.js?body=1" type="text/javascript"></script>
    <script src="/assets/application.js?body=1" type="text/javascript"></script>
  <link href="/assets/datatables.css?body=1" media="screen" rel="stylesheet" type="text/css" />
  <meta content="authenticity_token" name="csrf-param" />
    <meta content="Pccg3siV8wY7LftMfpyi5rgFArjehQb7g5o1BF7QL1I=" name="csrf-token" />

1 个答案:

答案 0 :(得分:11)

不,没有。

所有当前流行的浏览器(Seamonkey除外)都会向/favicon.ico自己发出GET请求,而且无法阻止他们这样做。如果它不存在,他们仍然会要求它,并继续请求它;没有关于您的应用程序或服务器可以改变它。

Rails默认包含public文件夹中大小为0的favicon.ico文件,因此不会发送永远不会在响应中看到的HTML 404页面,而是发送零内容长度响应,哪些(在大多数生产配置下)将被缓存,并且将更快,因为它不必由Ruby处理。