begin
@project.transaction{
@project.save!
@pjuser=Pjuser.new(project_id:@project.id,user_id:@current_user.id,state:Pjuser::MANAGER)
@pjuser.save!
}
# トランザクション成功
rescue
format.html { render action: "new" }
format.json { render json: @project.errors, status: :unprocessable_entity }
end
save!が例外処理の呼び出しなので、
@project.save!
の後で例外が発生すると、ロールバックされることを確認。