Gdzie umieszczać dodatkowe metody?

Cześć!
Uczę się Railsów razem z www.railstutorial.org
Jestem na rozdziale 9 i nasunęło mi się pytanie.
W trakcie kursu utworzyłem kilka metod pomocniczych w pliku

app/helpers/users_helper.rb

oraz kilka metod prywatnych w samym kontrolerze, to jest w

app/controllers/users_controller.rb

Moje pytanie brzmi:
Czym się kierować i co wziąć pod uwagę decydując, czy daną metodę umieścić w pliku helper, czy jako prywatną w kontrolerze?

Jeśli metoda ma być wykorzystywana w widokach to oczywiście helper. W controllerach jako prywatne należy stosować metody, które będą wykorzystywane tylko w tym kontrolerze. Część kodu jeśli dotyczy on bezpośrednio obiektu modelu można przetrzymywać jako metody modelu. Warto też zainteresować się wzorcem Fasada http://tutorials.jumpstartlab.com/topics/models/facade_pattern.html.

Pozdrawiam.

1 Like

Dziękuję za odpowiedź i świetny artykuł! :+1:

Poza widokami, ciekawym pomysłem mogą być również serwisy :wink:


1 Like