Это на самом деле правильно. Обычно, если вы создавали какую-то случайную Ruby-программу и создали класс, вы, вероятно, захотите добавить некоторые переменные экземпляра и тому подобное, но теперь это работает в Rails. Модель - это и класс, и таблица базы данных для него.
В db/migrate
вы увидите файл миграции, который создал вашу таблицу покупок, в вашей базе данных, и внутри вы увидите, что он генерирует столбцы, которые вы запрашивали. Когда вы сохраняете данные в базе данных, вы сохраняете экземпляр объекта (в общем).
Откройте консоль Rails (введите rails console
в свой терминал) и попробуйте это:
Purchase.count
Purchase.create!(:tracking_id => 1)
Purchase.count
my_purchase = Purchase.first
my_purchase.tracking_id
Сначала вы увидите, что у вас 0 объектов / строк в базе данных. Затем вы можете создать его и передать значение переменной вашего экземпляра (идентификатор отслеживания). Когда вы проверите счет снова, вы увидите 1. Когда вы возьмете первый (и единственный) элемент в элементе, вы сможете использовать динамический метод tracking_id в качестве средства доступа.
Я предлагаю вам больше прочитать о Rails, чтобы узнать больше о том, почему это правильно и что происходит.