4

突然、アプリを交換した後でも、次のようなエラーが発生します。

!! Unexpected error while processing request: undefined method `show' for "/":String

数時間前のコードをバックアップに置き換えました。ブラウザを開いて実際のページをクリックすることで新しい機能を構築しているときにアプリを継続的にテストしています。バックアップの古いコードは問題なく機能しましたが、アプリを取得できません。もう働く

ヘルプ!より高度なRubyonRailsコーダーは、これを修正するのに役立ちますか?どうも

ログではなく、rails / serverの完全な出力!

  /Users/jordan/.rvm/rubies/ruby-1.9.3-p194/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Users/jordan/apps/books/script/rails server -b 0.0.0.0 -p 3000 -e development
=> Booting Thin
=> Rails 3.2.3 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
>> Thin web server (v1.3.1 codename Triple Espresso)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:3000, CTRL+C to stop
!! Unexpected error while processing request: undefined method `show' for "/":String
!! Unexpected error while processing request: undefined method `show' for "/":String
!! Unexpected error while processing request: undefined method `show' for "/":String
!! Unexpected error while processing request: undefined method `show' for "/":String
!! Unexpected error while processing request: undefined method `show' for "/profiles":String
!! Unexpected error while processing request: undefined method `show' for "/about":String

試したこと

  • クリーンアップされたルートファイル
  • 再起動したマシン
  • ジェムセットからすべてのジェムを削除し、きれいにインストールしました
  • 正常に動作したRailsアプリで別のRubyをテストしました
4

3 に答える 3

6

解決策と学んだ教訓

私はアセットではなくログを記録するためのカスタム初期化子を持っていましたが、これは最新のRubyonRailsバージョンへのアップグレードでどういうわけか壊れました。このような奇妙な動作が発生した場合は、アプリコードの前に常に/config/と初期化子を確認してください;p

于 2012-06-06T12:29:42.767 に答える
2

これは古い答えですが、最近同様のエラーメッセージが表示されました。

バージョン1.5->1.6.1からアップグレードすることで、Thinから非常に明確なスタックトレースを取得できました。これにより、ミドルウェアレベルで問題のより完全なログが提供されます。

于 2014-04-29T22:22:26.050 に答える
0

エラーを再現できる場合は、リクエストがどのアクションで処理されたかがわかっているので、そのコントローラーメソッドから始めて、そこから1行ずつ移動する必要があります。

于 2012-06-05T14:37:04.583 に答える