PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Rails không khôi phục giao dịch sau khi lưu không thành công ()

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách cập nhật nhiều cột trong PostgreSQL

  2. PostgreSQL và nodejs / pg, trả về JSON lồng nhau

  3. Tổng hợp postgres SQL / tổng hợp dữ liệu theo tuần với tổng số

  4. psycopg2 và tập lệnh python vô hạn

  5. Bảng thay đổi quá chậm trong postgres