application_controller.rb的Rails 3未初始化的常量的ActiveRecord :: RecordInvalid
class ApplicationController < ActionController::Base
protect_from_forgery
rescue_from ActiveRecord::RecordInvalid, :with => :error_render_method
rescue_from ActiveRecord::RecordNotFound, :with => :record_not_found
def error_render_method
end
def record_not_found
end
end
當我運行rspec
我得到這個錯誤:
uninitialized constant ActiveRecord::RecordInvalid (NameError)
我用Google搜索,發現一些人添加require 'active_record/errors'
到該文件,但是當我做錯時仍然存在。
我使用rails (3.2.9)
'require「active_record/validations.rb」'這就是類的地方https://github.com/rails/rails/blob/0034b7822d6132f5945b0514a5391d18e52aa4b6/activerecord/lib/active_record/validations.rb這就是說,這應該已經是包括和你的代碼應該正常工作,因爲它是 –
我試着在Rails 3.2.9下新創建的應用程序上的代碼。工作得很好,沒有任何「需要」。檢查你的Gemfile,也許你有一些奇怪的寶石呢? – jdoe
@injekt指出的require語句起作用。最奇怪的是,它只在使用rspec運行時失敗。如果我使用Spork,或者在開發中運行它,它就會起作用。 – Nerian