voglio fare un metodo all'interno di un modulo (per raggruppare ragione) che può essere chiamato come un module.method
, qualcosa di simile:Come rendere aiutante modulare Sinatra
helpers do
module UserSession
def logged_in?
not session[:email].nil?
end
def logout!
session[:email] = nil
end
end
end
ma quando provo a chiamarlo usando UserSession.logged_in?
ha detto che login_in non è il metodo UserSession
metodo non definito `logged_in? ' per UserSession: Modulo
quando sposto il metodo come metodo di UserSession:
helpers do
module UserSession
def self.logged_in?
not session[:email].nil? # error
end
def self.logout!
session[:email] = nil
end
end
end
dà un errore, che non ho potuto accedere al session
variabile
indefinito variabile locale o metodo `sessione 'per UserSession: Modulo
qual è la migliore soluzione n per questo problema?
'include UserSession'? – shime
quindi, stai insinuando che dovrei creare un modulo al di fuori del metodo dei soccorritori di Sinatra, quindi includerlo? avrà lo stesso problema (non può accedere alla variabile di sessione) – Kokizzu