2016-10-15 4 views
0

Я получаю uninitialized constant ApplicationRecord всякий раз, когда я пытаюсь запустить rails db:migrate, и обратная линия, кажется, указывает на спецификацию factory_girl. Точная линия, которая вызывает ошибку, равнаНеинициализированная константа ApplicationRecord, вызванная заводской девушкой?

factory :test_user, class: User do 

Почему это происходит? Как этот ApplicationRecord не определяется, когда эта спецификация анализируется? Как я могу это исправить?

+0

У вас есть файл 'application_record.rb' в вашей папке' app/models/'? Определяет ли это 'class ApplicationRecord'? – slowjack2k

+0

@ slowjack2k Нет. Почему у меня должен быть такой файл? Предполагается, что это класс, определенный самим Rails. – alexandernst

+1

С Rails 5 создается файл модели 'application_record.rb' с классом' ApplicationRecord'. Каждая новая модель должна наследовать от этого класса вместо «ActiveRecord :: Base». – slowjack2k

ответ

2

С Rails 5 создан файл модели application_record.rb с классом ApplicationRecord. Каждая новая модель должна наследовать от этого класса вместо ActiveRecord::Base, чтобы предотвратить исправление mokey ActiveRecord::Base. ApplicationRecord - новая точка входа для расширений.