сгенерирована модель application_record

#ruby-on-rails

#ruby-on-rails

Вопрос:

Из примечаний к выпуску Rails 5.2:

 ApplicationRecord is no longer generated when generating models. If you need to generate it, it can be created with rails g application_record. (Pull Request)
  

Я сгенерировал новое приложение, используя синтаксис:

 rails new TestApp -d mysql
  

Но файл application_record.rb был создан в app / models

 rails -v
  

создает:

 Rails 5.2.2

ruby -v
  

создает:

 ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]
  

Я нахожусь на Mac Mojave.

Это ошибка, или я неправильно понял примечания к выпуску?

Комментарии:

1. По-видимому, в документах указано, что это ApplicationRecord больше не генерируется при генерации моделей . Из вашего вопроса следует, что это ApplicationRecord было сгенерировано при создании приложения , нет? Если это так, то все кажется согласованным, да?

2. Но разве генерация моделей не является частью создания нового приложения?

3. Отлично. Когда вы создаете new приложение (но еще не сделали rails g model ... ), кроме ApplicationRecord , какие модели вы видите в каталоге models?

4. А, хорошо, я понимаю, о чем ты говоришь. У меня пока нет никаких моделей, но я был сбит с толку, потому что каталог models был создан, и application_record был в нем.

Ответ №1:

Я полагаю, вы неправильно поняли примечания к выпуску.

Когда вы создаете новое приложение, создается models каталог и ApplicationRecord создается в models каталоге. Но, как видите, вы еще не сгенерировали никаких моделей. Это произойдет, когда вы это сделаете rails g model ... .

Когда вы (в конечном итоге) это сделаете rails g model ... , то (как указано в примечаниях к выпуску), ApplicationRecord не будет сгенерировано, потому что оно уже было сгенерировано при создании приложения.