Ходовые рельсы генерируют строительные леса, не генерируют модель - PullRequest
1 голос
/ 20 января 2012

Если я наберу (скопировать / вставить точно из "rails g scaffold --help")

rails generate scaffold purchase amount:decimal tracking_id:integer:uniq

Затем создается контроллер, виды, модель создается .. но она не содержит свойств. Буквально содержит:

class Purchase < ActiveRecord::Base
end

Я что-то упустил?

Версия
Рельсы 3.2.0
ruby 1.8.7 (уровень обновления 24-01 2010-10) [universal-darwin11.0]
Mac OSX Lion

1 Ответ

3 голосов
/ 20 января 2012

Это на самом деле правильно. Обычно, если вы создавали какую-то случайную 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, чтобы узнать больше о том, почему это правильно и что происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...