Обычно, когда вы разрабатываете какое-либо веб-приложение на основе базы данных, вы заранее знаете структуру базы данных (имя таблиц, имя столбцов в этих таблицах и связи между различными таблицами).
Rails, как уже упоминалось Мааронс в своем ответе использует шаблон Active Record .Ваши модели - это классы, которые представляют таблицу в вашей базе данных, экземпляр класса вашей модели - строку в этой таблице, а различные атрибуты объекта представляют значения в разных столбцах одной и той же таблицы.
При создании моделиобычно вы создаете класс, который представляет одну из таблиц в вашей базе данных.И пока вы создаете модель, вы также собираетесь создать таблицу в своей базе данных.Это означает знание имени таблицы и столбцов в этой таблице.
Итак, чтобы ответить на ваш вопрос, вы должны знать все столбцы, необходимые на данный момент, которые будут в вашемстолы.И, следовательно, доступны как методы атрибутов для ваших объектов модели.Вы указываете эти столбцы для добавления в таблицу в миграции, созданной генератором рельсов при создании этой модели.Это то, что обычно делают все.
Вы можете воспользоваться первым подходом к коду, создав класс без запуска генератора моделей rails в app/models/
, но не наследуя его от ActiveRecord::Base
.По мере продвижения вперед в разработке вы можете создавать миграции с помощью $ rails generate migration MigrationName
, создавая таблицу и добавляя столбцы, используя [add_column][2]
, к этой таблице по мере необходимости.После того как вы создали таблицу для этой модели, вам придется наследовать эту модель от ActiveRecord::Base
, чтобы вы могли получить всю магию Rails в своем приложении.