Ho un'azione complessa all'interno del controller che esegue diverse query di aggiornamento al database.Operazione di transazione con Ruby On Rails
Come posso fare questa azione come la transazione senza alcun refactoring strutturale?
Ho un'azione complessa all'interno del controller che esegue diverse query di aggiornamento al database.Operazione di transazione con Ruby On Rails
Come posso fare questa azione come la transazione senza alcun refactoring strutturale?
MyModel.transaction do
begin
@model.update_stuff
@sub_model.update_stuff
@sub_sub_model.update_stuff
rescue ActiveRecord::StatementInvalid # or whatever
# rollback is automatic, but if you want to do something additional,
# add it here
end
end
Qui ci sono the docs for the transaction method.
E 'posible a fare tutte le azioni di controllo transazionale in una volta con:
around_filter :transactional
def transactional
ActiveRecord::Base.transaction do
yield
end
end
Aspect programmazione orientata. Non c'è nulla che Ruby non possa fare? (Oltre a lavorare su Windows.) – Chloe