2016-10-15 70 views
0

無論何時我試圖運行rails db:migrate並且回溯似乎指向factory_girl的規格,我都會得到uninitialized constant ApplicationRecord。導致錯誤的確切行是未初始化的常量ApplicationRecord引起的工廠女孩​​?

factory :test_user, class: User do 

爲什麼會發生這種情況?在解析規範時,ApplicationRecord未被定義如何?我該如何解決它?

+0

你的'app/models /'文件夾中有文件'application_record.rb'嗎?它是否定義了「ApplicationRecord類」? – slowjack2k

+0

@ slowjack2k號爲什麼我應該有這樣的文件?這應該是由Rails本身定義的類。 – alexandernst

+1

由於Rails 5生成了一個類ApplicationRecord的模型文件'application_record.rb'。每個新模型應該從該類繼承,而不是'ActiveRecord :: Base'。 – slowjack2k

回答

2

由於Rails 5生成了帶有類ApplicationRecord的模型文件application_record.rb。每個新模型都應繼承該類而不是ActiveRecord::Base,以防止ActiveRecord::Base的mokey修補。 ApplicationRecord是擴展的新入口點。