0

Rails が特定のアクションの実行をスキップしているように見える奇妙な問題が発生しています。これを実行している 2 つの環境があります。1 つ (開発) は正常に動作し、アクションを実行します。もう一方 (ステージング) はアクションを実行していません。

エラーは、Rails が特定のアクションのビュー ディレクトリにテンプレートを見つけられないことです。これは、JSON でのみ応答することになっています (テンプレートなし)。アクションにログインしましたが、単に実行されていません。Rails は、ビューが存在しないと言ってすぐに失敗します。

私のベースをカバーするために、コードが実際に同じであること、ルートファイルがまったく同じであること、およびレールのバージョン (3.0.1) が 2 つの環境間でまったく同じであることを確認しました。ここでどんな助けも素晴らしいでしょう。

4

1 に答える 1

0

どうやらこれはfacepalmの部門に来ます。開発者の1人が、別のファイル名と同じコントローラークラス名で新しいコントローラーをコミットしました。開発レールでは最初に新しいコントローラーをロードしていたため、古いコントローラーがそれをオーバーライドし、問題が隠されていたに違いありません。ただし、段階的には、新しいコントローラーが最後にロードされたようです。これにより、コントローラーのクラスとメソッドが競合し、すべてが台無しになりました。

他の人がレールでこの問題に遭遇したかどうか知りたいです。常に同じソートメカニズムを使用するために、コントローラーのロードコードにパッチを適用する必要がある場合があります(ファイル名が最も自然なようです)。

于 2011-03-18T20:57:51.087 に答える