В конструкторе нет ничего плохого, просто они вряд ли когда-нибудь понадобятся.Основной причиной для конструктора будет установка значений по умолчанию.Задание атрибутов по умолчанию легко выполняется на уровне базы данных
add_column :users, :admin, :boolean, :default => false
Основное, что может потребоваться, - это существование / создание модели ассоциации, это можно сделать либо в конструкторе / инициализаторе,но более распространенным является использование перехватчиков rails для установки before_create :populate_children, :ensure_parent_exists
(где populate_children, и sure_parent_exists - методы закрытой модели) или что-то в этом роде.Этот подход означает, что любую логику инициализации можно разделить на логические методы (например, отдельные методы для каждого бита инициализации), а некоторые можно дополнительно вызывать и в другое время after_save :ensure_parent_exists
, и, таким образом, обеспечивает большую гибкость