0

既存の複雑な Web サイトのインポート/エクスポート機能のプログラミングを終了しました。セットアップ方法は、games/5 ショー アクションで、「インポート」ボタンと「エクスポート」ボタンを使用することです。これらは、適切な名前のコントローラー アクションにつながり、インポート/エクスポートを実行してからrender :action => show再度実行します。

エクスポート アクションをクリックすると、「申し訳ありませんが、問題が発生しました」というメッセージが表示され、production.log には次のように記録されます。

Started GET "/games/3/export" for 212.87.32.10 at 2012-05-30 09:30:18 +0000
Processing by GamesController#export as HTML
  Parameters: {"id"=>"3"}


Started GET "/favicon.ico" for 212.87.32.10 at 2012-05-30 09:30:50 +0000

ActionController::RoutingError (No route matches [GET] "/favicon.ico"):
  actionpack (3.2.2) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (3.2.2) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
  railties (3.2.2) lib/rails/rack/logger.rb:26:in `call_app'
  railties (3.2.2) lib/rails/rack/logger.rb:16:in `call'
  ...

同じテンプレートを使用しているページが何百もあるのに、Rails がこの 1 つのアクションでのみ favicon について不平を言うのはなぜですか?? 同じ古い「表示」アクションをレンダリングしていることを考えると、少なくとも以前の「表示」ページで文句を言わないのはなぜですか? グラフィックが見つからないために「申し訳ありませんが、問題が発生しました」というメッセージが表示されるのはなぜですか?

私のファビコンは実際にはオフサイトでホストされており、application.html.erb のリンクは

<link rel="shortcut icon" href="http://www.wooga.com/wp-content/themes/wooga-dev/images/favicon.ico" type="image/x-icon" />
4

1 に答える 1

4

「Rails が 1 回のアクションで favicon.ico について文句を言っている」のではなく、「Web ブラウザがこのアプリにない favicon.ico を取得しようとしている」のです。あなたのブラウザがそこにそれを望んでいる理由を掘り下げてみてください。このアクションから何か他のものを返していますか? Chrome インスペクター/Firebug の [ネットワーク] タブを調べ、応答ヘッダー/本文を確認し、ブラウザーがいつ favicon.ico ファイルを取得しようとしたかを確認します (時間がかかりすぎたため、応答本文が返される前である可能性があります)。

また、最後の質問について:

グラフィックが見つからないために「申し訳ありませんが、問題が発生しました」というメッセージが表示されるのはなぜですか?

Rails は、"/favicon.ico" が画像ファイルを返す必要があることを認識していません。これは 404 応答を伴う標準的な要求であり、デフォルトでは「申し訳ありません...」というメッセージが返されます。

于 2012-05-30T10:08:08.533 に答える