Оба, вероятно, не идеальны.course#enrollments<<(object, …)
устанавливает внешние ключи для объектов регистрации, поэтому вам не нужно устанавливать :course_id
на enrollment
, в противном случае вам не нужно вызывать course#enrollments<<(object, …)
, если внешний ключ уже установлен, вы просто вызываете enrollment#save
.
Как указывало @ zed_0xff, вы можете просто позвонить course#enrollments#build
(или лучше course#enrollments.create
, если вы хотите, чтобы изменения сохранялись в базе данных).
Кроме того, вы можете спокойно пропустить self
.Нет никаких двусмысленностей относительно того, что такое enrollments
и id
.
Настоятельно рекомендуется Направляющие рельсов: 4.3 Ссылка на ассоциации has_many
Редактировать: Я только что понял, что не ответил на вопрос ОП.Разницы нет вообще.