#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
не будет сгенерировано, потому что оно уже было сгенерировано при создании приложения.