sql >> Databasteknik >  >> RDS >> PostgreSQL

Rails rullar inte tillbaka transaktionen efter misslyckad save()

Om du lägger till ett objekt i samlingen sparas det omedelbart (såvida inte användaren är osparad). Uppmaningen att spara skapar en egen transaktion och det är det som rullas tillbaka, inte transaktionen där objektet sparas

Du kan tvinga allt till samma transaktion genom att skapa en uttryckligen.

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. Hur kan en javax.persistence.Column definieras som en osignerad TINYINT?

  2. Skillnaden mellan mysql och mysqli

  3. Hur man löser mysql-varning:InnoDB:page_cleaner:1000ms avsedd loop tog XXX ms. Inställningarna kanske inte är optimala?

  4. Hur man undviker multipla insert i PostgreSQL