2012-01-20 4 views
1

Если я печатаю (копировать/вставить именно с «рельсы г эшафот --help»)рельсами генерировать подмости не создает модель

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

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

class Purchase < ActiveRecord::Base 
end 

ли я что-то отсутствует?

Версии
Rails 3.2.0
рубин 1.8.7 (2010-01-10 249 номера патчей) [универсального darwin11.0]
Mac OSX Lion

+0

Найдено duplicate- http://stackoverflow.com/questions/8919170/rails-3-1-how-override-inherited-resources-and-permit-rails-scaffolding-to-work Однако, я не -выберите бит -c? – Alex

+0

Этот вопрос другой. Вы говорите о том, что ваш класс пуст, и этот вопрос был о том, что контроллер пуст. – MrDanA

ответ

3

Это на самом деле правильно. Обычно, если вы делаете какую-то случайную рубиновую программу, и вы создали класс, вы, вероятно, захотите выбросить некоторые переменные экземпляра и т. Д., Но теперь это работает в Rails. Модель представляет собой класс и таблицу базы данных.

В файле db/migrate вы увидите файл миграции, который сделал вашу таблицу Purchase в вашей базе данных, и внутри вы увидите, что она генерирует столбцы, которые вы просили. Когда вы сохраняете данные в базе данных, вы сохраняете объект instanced (в общем).

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

+0

+10 для «большего чтения» ... извините! – Alex

Смежные вопросы