Jeszcze jedno pytanie "dlaczego tak jest": Zauważyłem, że prywatne metody pomocnicze wciąż są dostępne w widokach. Dlaczego tak jest? Czy istnieje sposób, aby temu zapobiec (na przykład, gdy istnieją metody pomocnicze, które powinny być wywoływane tylko z poziomu innego pomocnika)?Dlaczego prywatne metody pomocnicze są nadal dostępne w widokach?
Odpowiedz
Pomocnicy są modules that get mixed in do widoków. Oznacza to, że publiczne, chronione i prywatne metody w pomocniku stają się publicznymi, chronionymi i prywatnymi metodami na widokach.
Nie sądzę, że można rzeczywiście ukryć metody pomocnicze z widoku. Musiałbyś zrobić coś takiego, jak klasa pomocnika, którą tworzysz w helperie, a następnie delegujesz do niej połączenia - wydaje się, że może się to szybko stać brudne. :)
Pomocnicy to w zasadzie małe fragmenty kodu, które można wywoływać w widokach, aby pomóc w utrzymaniu kodu SUCHEGO - tzn. Każdy kod, który powtarzacie regularnie, najprawdopodobniej zostanie przeniesiony do pomocnika.
Korzystanie z helperów jest proste, każdy kontroler ma swój własny plik pomocniczy lub możesz pisać pomocników w pliku pomocniczym aplikacji, jeśli będzie on używany w całej aplikacji.
na przykład - patrz http://paulsturgess.co.uk/articles/49-using-helper-methods-in-ruby-on-rails
https://web.archive.org/web/20130127041747/http://paulsturgess.co.uk/articles/49-using-helper-methods-in-ruby-on-rails – danuker
Dziękuję. I tak jest. :-) –