я хочу сделать метод внутри модуля (для группирования причины), которую можно назвать как module.method
, что-то вроде этого:Как сделать модульный помощник в Синатрах
helpers do
module UserSession
def logged_in?
not session[:email].nil?
end
def logout!
session[:email] = nil
end
end
end
, но когда я пытаюсь вызвать его используя UserSession.logged_in?
, он сказал, что logged_in не является методом UserSession
undefined method `logged_in? ' для UserSession: Модуль
, когда я двигаю метод как метод UserSession в:
helpers do
module UserSession
def self.logged_in?
not session[:email].nil? # error
end
def self.logout!
session[:email] = nil
end
end
end
он дает ошибку, что я не мог получить доступ к session
переменной
неопределенную локальную переменную или метод `session 'для UserSession: модуль
Что такое лучший solutio n для этой проблемы?
'include UserSession'? – shime
Итак, вы подразумеваете, что я должен сделать модуль вне метода помощников синатра, а затем включить его? он будет иметь ту же проблему (не может получить доступ к переменной сеанса) – Kokizzu