У меня есть три основных таблицы: пользователи (электронная почта, пароль), контакты (имя, телефон), отношения (идентификатор_пользователя, идентификатор_пользователя, уровень).
Когда пользователь создает новый контакт, я хочу, чтобы он был связан с ним. Ассоциация имеет уровень "дружбы" от 1 до 3.
Я использую форму для ввода уровня в моих контактах # создаю контроллер.
Пока у меня есть это, которое прекрасно работает
def create
@contact = Contact.new(params[:contact])
if @contact.save
#@relation = Relation.new(:user_id => current_user.id, :contact_id => @contact.id, :level => params[:relation])
#@relation.save
redirect_to root_url, :notice => "ok!"
else
render "new"
end
end
Я думал о том, чтобы переместить создание отношений в мою модель контактов, чтобы сделать что-то вроде этого:
after_create { Relation.create(user_id: current_user.id, contact_id: self.id, level: params[:relation]) }
Конечно, это не работает, но вы поняли.
Было бы хорошо, чтобы это было в модели, или я могу оставить это, как сейчас
ура