У меня две модели: пользователь и компания. Они оба создаются из одной формы, и я использую транзакцию следующим образом:
User.transaction do
@user.save!
@company.user = @user
@company.save!
@user.reload
@user.company = @company
@user.save!
flash[:notice] = "Thank you for your registration."
redirect_to_index
end
Пользователь получает сохранение в базе данных даже в случае сбоя одной из проверок компании. Я попытался добавить явную обработку ошибок ActiveRecord:: RecordInvalid, но это не помогло. Я думал, что проверка приведет к ошибке при откате транзакции. Любая помощь приветствуется.
Спасибо