我有两个模型:用户和公司。它们都是从一个表单创建的,我正在使用以下事务:
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的显式错误处理,但没有帮助。我认为验证会抛出错误以回滚事务。非常感谢任何帮助。
谢谢