Problem z DRY - te same metody w helperze i kontrolerze

Witam,
zastanawiam się jak rozwiązać taki problem:
W application.rb mam metode get_user, ktora zwraca zalogowanego użytkownika, jesli jakis kontroler potrzebuje o tym danych to wlasnie przez ta metode je otrzyma:

def get_user unless @user if session[:user_id] begin @user = User.find( session[:user_id] ) rescue session[:user_id] = nil flash[:notice] = 'Dane użytkownika z sesji są nieprawidłowe' redirect_to_index end end end return @user end
ale infornacji o uzytkowniku potrzebuje tez w partialu ‘/user/_profile_box’ - wyswietla profilu usera jesli jest zalogowany, a renderowany jest bezposrednio z layoutu a nie z akcji w kontrolerze user, wiec moze wykozystywac tylko dane z helpera application_helper.
I tutaj musialbym zdublowac metode get_user w helperze. Próbowałem rozwiazac ten problem renderujac w layoucie akcje user/profile_box, ale odkrylem z poziomu layoutu nie mozna renderowac akcji :wink:
Czytalem ze komponenty sa ‘be’ wiec chce znalesc jakies inne wyjscie.

Czyz to nie jest piekne:

helper_method :get_user

? :smiley:

(oczywiscie dodane w kontrolerze)

mniam :slight_smile: