[英]Behavior from module SessionsHelper is not included in class
我尝试将会话添加到我的Rails应用中,并且我有SessionManager
类,该类负责处理与会话相关的任务
class SessionManager
include SessionsHelper
def log_in(user)
session[:user_id] = user.id
end
def current_user
@current_user ||= User.find_by_id(session[:user_id])
end
def logged_in?
return false if current_user.nil?
true
end
end
如您所见,我包括SessionsHelper
以便使用session
方法将一些数据放入会话中,但是当我尝试使用此代码时,我得到了:
NameError: undefined local variable or method `session' for <SessionManager:0xa790cfc>
我做错了什么?
提前致谢。
我不确定您的SessionsHelper模块是什么样的,但是您可能想看看使用self.included。 有时称为“混合素”。
我相信像这样构造模块可以帮助您:
module SessionsHelper
def self.included(base)
base.class_eval do
def session
# ...
end
end
end
end
包括的更多信息: http : //ruby-doc.org/core-2.2.0/Module.html#method-i-included
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.