With : PostgreSQL 8.4 or postgresql-8.3 rails 2.3.4 pg 9.x or pg 8.x
I test this code:
With : PostgreSQL 8.4 or postgresql-8.3 rails 2.3.4 pg 9.x or pg 8.x
I test this code:
save! just throws an error if there is an issue. Do you have validations that are supposed to cause an exception in that case?
Actually you need to put that in an exception block. You are saving the data before the raise.
According to the ActiveRecord documentation, any exception thrown inside a transaction block must rollback all updates have been made within the transaction.
http://api.rubyonrails.org/classes/ActiveRecord/Rollback.html => "Normally, raising an exception will cause the transaction method to rollback the database transaction and pass on the exception"
Did you try 'raise ActiveRecord::Rollback' ?
without the .new
Yes I tried 'raise ActiveRecord::Rollback' without '.new', but i have the same problem.
what does the corresponding log file look like ?
Fred
I'm sorry. The problem was the following code that another developer had added:
class ApplicationController < ActionController::Base prepend_around_filter :action_transaction
def action_transaction ActiveRecord::Base.transaction do yield end end
end
thanks anyway