Czy możliwe jest skonfigurowanie aplikacji Rails tak, że wszystkie akcje kontrolera są automatycznie pakowane w transakcję, która zostaje automatycznie wycofana w przypadku nieuregulowanych wyjątków?Zawijanie wszystkich działań kontrolera w transakcjach w Railsach
Pracuję nad aplikacją Rails 3, obecnie dla dość skomplikowanej akcji, która powoduje liczne zmiany w bazie danych. I robię to źle, wiele razy! Po pewnym czasie zorientowałem się, że mój kod nie działa, ponieważ w bazie danych znalazłem niespójne dane.
Mogę z łatwością zawinąć to za pomocą transakcji (jest to wyraźna instancja, w której jedna jest potrzebna!). Jednak przyszło mi do głowy, że przynajmniej w fazie rozwoju, warto zastosować ten pomysł w każdej akcji kontrolera.
Zakładając, że jest to możliwe, czy jest jakiś minus tego?
Dzięki. Zamierzam zastanowić się, czy to dobry pomysł. Chyba problem polega na tym, że wszystkie transakcje, których używam w aplikacji, zostaną po prostu połączone w zewnętrzną transakcję. Jednak z jakiegoś powodu, widząc to, dało mi to pomysł, jak to zrobić. Będę publikować za pomocą mojego rozwiązania, aby kod był łatwiejszy do odczytania! – asc99c