2011-08-29 24 views
2

我在我的應用程序控制器下面的代碼:Rails的未定義的常量:ActiveRecord的:: RecordNotFound

class ApplicationController < ActionController::Base 
    protect_from_forgery 
    rescue_from ActiveRecord::RecordNotFound, :with => :record_not_found 
    private 
    def record_not_found 
    render :text => "404 Not Found", :status => 404 
    end 
end 

當我運行它(其實我跑rake db:migrate)我得到的錯誤uninitialized constant ActiveRecord::RecordNotFound。這看起來很簡單 - 幫助!

+0

看起來你的一些遷移文件有問題。 –

+0

哪個Rails版本? –

+0

遷移文件運行良好,直到我添加'rescue_from'並再次運行時,我添加'需要active_record /錯誤'。仍然想知道爲什麼這是必需的,因爲我在網上找到的例子都沒有。 –

回答

7

它需要require 'active_record/errors',我沒有看到任何我找到的例子,當我谷歌搜索。

+0

在Rails 3中沒有適用於我3 – Nerian

+0

另外,仔細查看錯誤是個不錯的主意。類似的錯誤很容易被誤認爲,例如,使用'ActiveRecord :: NotFound'與'ActiveRecord :: RecordNotFound'會導致類似的錯誤。 –

+0

雖然它不適用於這種情況,但我一般會認可這個想法。 –

相關問題