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)

Odniesienie

Author: sawa, 2010-10-22

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
 270
Author: Jeremy,
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