2011-03-18 45 views
0

我有一個奇怪的問題,就好像Rails跳過我的特定Action的運行。我有兩個環境,我正在運行它。一個(開發)工作正常,並運行該操作。另一個(分期)未運行該操作。Rails路由問題,被忽略的動作

錯誤是,Rails無法在給定操作的視圖目錄中找到模板,該模板只能用JSON(無模板)響應。我已經完成了日誌記錄,只是沒有運行。 Rails立即失敗,說該視圖不存在。

爲了覆蓋我的基礎,我已驗證代碼確實相同,我的路由文件完全相同,並且我的rails版本(3.0.1)在兩個env之間完全相同。在這裏任何幫助都會很棒。

回答

0

顯然這是在facepalm的部門。我們的一位開發人員提交了一個新的控制器,其文件名不同,但控制器類名相同。一定是在開發中,rails首先加載新的控制器,所以舊的控制器會覆蓋它,並且隱藏了問題。然而,在舞臺上,似乎新的控制器最後被加載,這會蠶食我們的控制器類和方法,將所有東西搞砸。

我很想知道其他人是否在rails中遇到過這個問題。可能需要修補控制器加載代碼,以始終使用相同的排序機制(看起來像文件名是最自然的)。