Mam złożoną akcję wewnątrz kontrolera, który wykonuje kilka zapytań aktualizacji do bazy danych.Akcja transakcji z Ruby On Rails
W jaki sposób mogę wykonać tę czynność działa jak transakcja bez żadnego strukturalnego refaktoryzacji?
Mam złożoną akcję wewnątrz kontrolera, który wykonuje kilka zapytań aktualizacji do bazy danych.Akcja transakcji z Ruby On Rails
W jaki sposób mogę wykonać tę czynność działa jak transakcja bez żadnego strukturalnego refaktoryzacji?
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
To posible, aby wszystkie działania kontrolera transakcyjnych na raz:
around_filter :transactional
def transactional
ActiveRecord::Base.transaction do
yield
end
end
programowanie aspektowe. Czy nie ma nic, czego Ruby nie może zrobić? (Poza pracą w systemie Windows). – Chloe