PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Rails tidak memutar kembali transaksi setelah gagal menyimpan ()

Menambahkan item ke koleksi akan segera menyimpannya (kecuali pengguna belum disimpan). Panggilan untuk menyimpan membuat transaksinya sendiri dan itulah yang dibatalkan, bukan transaksi di mana item tersebut disimpan

Anda dapat memaksa semuanya ke dalam transaksi yang sama dengan membuatnya secara eksplisit.

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. Menggunakan CASE di PostgreSQL untuk memengaruhi beberapa kolom sekaligus

  2. Bagaimana cara MEMILIH data dari tabel anak di PostgreSQL?

  3. Postgres:memberikan akses ke peran/pengguna untuk tabel masa depan yang dibuat oleh peran/pengguna yang berbeda

  4. Menginstal pgroonga di macosx (dengan Postgres.app)

  5. PostgreSQL:batasan yang memengaruhi banyak tabel