Да, добавление пользователя к событию автоматически создает объект отношения.
И да, вы должны вручную создать отношение, если хотите добавить этот параметр в среднюю таблицу.
Одним из решений, чтобы сделать его более прохладным, было бы создание метода add_user
в объекте события.
def add_user user, goal_amount
Registration.create({
:user => user,
:event => self,
:goal_amount => goal_amount)
})
end
Тогда вам просто нужно позвонить
@event.add_user @user, 100