Do czego służą metody helper i helper?
helper_method
jest to proste: udostępnia widok niektórym lub wszystkim metodom kontrolera.
Co to jest helper
? Czy jest odwrotnie, tzn. importuje metody pomocnicze do pliku lub modułu? (Może Nazwa helper
i helper_method
są podobne. Mogą raczej być share_methods_with_view
i import_methods_from_view
)
1 answers
Metoda {[5] } ma jawnie współdzielić niektóre metody zdefiniowane w kontrolerze, aby udostępnić je dla widoku. Jest to używane dla każdej metody, do której należy uzyskać dostęp zarówno ze sterowników, jak i helperów/widoków(standardowe metody pomocnicze nie są dostępne w sterownikach). np. wspólny przypadek użycia:
#application_controller.rb
def current_user
@current_user ||= User.find_by_id!(session[:user_id])
end
helper_method :current_user
Metoda helper
z drugiej strony służy do importowania całego helpera do widoków dostarczonych przez kontroler(i odziedziczonych kontrolerów). Oznacza to, że doing
# application_controller.rb
helper :all
Dla Szyn > 3.1
# application.rb
config.action_controller.include_all_helpers = true
# This is the default anyway, but worth knowing how to turn it off
Udostępnia wszystkie moduły pomocnicze dla wszystkich widoków (przynajmniej dla wszystkich kontrolerów dziedziczących z application_controller.
# home_controller.rb
helper UserHelper
Udostępnia metody UserHelper dla widoków dla akcji kontrolera domowego. Jest to równoznaczne z wykonaniem:
# HomeHelper
include UserHelper
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-24 12:51:21