redirect_to create action

Da się zrobić coś takiego, że w jednym kontrolerze zrobić redirect_to wywołujący akcję create z innego kontrolera?

Np

Tworzymy uzytkownia i jak mu sie uda, czyli w User|create wywolujemny redirecta do innego Kontrolera i tamtejszej akcji create

Tak by w tle bez jego wiedzy jak tworzy konto przy okazji stworzyla sie dodatkowa rzecz np Dodaj Post z jakimis danymi czy co kolwiek innego

Mam nadzieje ze dosc jasno ;]

Może lepiej to zrobić na poziomie modeli i observerów?

a) nie można, bo o redirectach RFC mówi tak:

…a akcja create czeka na POST (PUT)

b) nie należy - od takich operacji jest np. after_create

b) nie potrzeba, bo operacja odbywa się

…więc userowi nie robi różnicy czy przeszedł przez 1 czy 2 akcje.

jak odróżnić kiedy należy użyć observera a kiedy after_create ?

Najprościej rzecz biorąc jeśli model jest sam odpowiedzialny za logikę to użyć after_create, jeśli coś innego to observera.

Przykład. Jeśli po utworzeniu użytkownika (klasa User) ma utworzyć się także obiekt konta (Account) to pewnie lepiej jest wykorzystać after_create (lub before_create). Z kolei jeśli po utworzeniu użytkownika ma się wysłać mail do admina z informacją o tym to lepiej observerem (bo czemu klasa User ma w ogóle wiedzieć, że admin potrzebuje takiej informacji).

dzięki, przejrzyste objaśnienie :slight_smile: