Việc thêm một mục vào bộ sưu tập sẽ lưu nó ngay lập tức (trừ khi người dùng chưa được lưu). Lệnh gọi để lưu sẽ tạo ra giao dịch của chính nó và đó là giao dịch được khôi phục lại, không phải giao dịch trong đó mục được lưu
Bạn có thể buộc mọi thứ vào cùng một giao dịch bằng cách tạo một giao dịch rõ ràng.
begin
User.transaction do
@user.items << item
@user.save!
render :json => {}, :status => :ok
end
rescue ActiveRecord::RecordInvalid
render :json => {:status => :error, :errors => item.errors}, :status => :bad_request
end