Ponoć dobrą zasadą jest używanie jednego modelu u jednym controller czy takie rozwiązanie jest poprawne i czy da się w redirect_to przekazać parametry
[code]class UserController
def some_action @user.name = “Kowalski”
redirect_to (add_log_path + parametry (o ile się da ?))
end
Class LogController
def add_log @log = “Create new user”+ [params[:user][:name]]
redirect_to root_path
end[/code]
Wiadomo kod ten nie za działa chodzi mi raczej o idee przedstawienia mojej zagwozdki, a może nie ma się co bawić i po prostu (w tym przypadku) zapisywać log w some_action i wtedy redirect_to do root_path
def some_action
@user.name = "Kowalski"
@log = "Create new user"+ @user.name
redirect_to (root_path )
end
Pytanie brzmi raczej, czy da się przekazać parametr w url_helpers. Metoda redirect_to bierze po prostu string, którego używa jako adresu przekierowania.
Odpowiedź brzmi: Da się przekazać parametry, i to całkiem łatwo, konstrukcją:
Hmm wiedziałem że ten przykład będzie nie dobry ;d. Chodzi i o to czy w jednym controller używać np dwóch modeli czy jeżeli jest możliwość to użyć jednego i przekierować do innego controller odpowiedniego dla drugiego modelu.
Nie ma sensu komplikować rozwiązania tylko dlatego, że ktoś powiedział “jeden model = jeden kontroler”. Podejdź pragmatycznie - jeżeli będziesz musiał napisać setkę linii kodu zamiast jednej, tylko dla idei, to to zła idea była. Jeżeli kod będzie czytelny, sensowny i będzie działał dobrze, to używaj tylu modeli ilu tylko chcesz.
ewentualnie żeby było bardziej koszernie możesz stworzyć sobie klasę której przekażesz parametry, usera i co tam jeszcze potrzebujesz a to ona zajmie się komunikacją między modelami