Я начал изучать Ruby on Rails несколько недель назад, и я обнаружил, что гораздо проще освоить все и научиться обходиться без использования скаффолдинга и генерации различных частей из командной строки (или макросы в IDE).
Однако из того, что я могу сказать, когда вы используете скаффолдинг для генерации вещей, вы думаете о нем как о генераторе «ресурса», поэтому вы будете создавать только один ресурс за раз, а затем добавляете отношения рука позже.
Однако команда создания модели может создать эти отношения для вас. Допустим, вы использовали скаффолдинг для создания ресурса Scale.
Вы могли бы тогда сделать
ruby script/generate model GuitarString name:string scale:references
Scale: ссылки создадут belongs_to :scale
для вашей модели GuitarString, но вам нужно добавить has_many: guitarstrings в вашу масштабную модель.
Команда создания модели также создает сценарий миграции для вас и других необходимых файлов (фикстур), аналогично скаффолдингу, но не создает автоматически представления, контроллеры или что-либо еще.
EDIT:
Это, как правило, то, что вы хотите делать - использовать генерацию / модель или генерацию / просмотр или генерацию / контроллер или генерацию / миграцию. Большинство разработчиков Rails не используют скаффолдинг, так как его «один размер подходит всем» редко подходит идеально. Тем не менее, большинство разработчиков rails используют команды генерации, о которых я упоминал, - это экономит время, создавая помощники и приборы вручную, и дает каждому файлу генерируемый базовый шаблон, который вы можете добавить.
Некоторые Ruby IDE, такие как RubyMine JetBrain, имеют макросы, которые по существу выполняют эти команды. В RubyMine вы можете выполнить ctrl + alt + g, а затем ввести другой ключ, соответствующий тому, что вы хотите сгенерировать.
Отношение own_to может быть сгенерировано с использованием слова "ссылки", как я уже упоминал. Другие вы добавите вручную.