我正在构建一个需要访问GET参数和当前会话的gem。
Module MyGem
class MyClass
def write_to_session
session[:user_id] = nil if params[:logout]
end
end
end
上面的代码不起作用,因为会话和参数只能在控制器中访问。 在另一个类似的问题中,有人建议将params传递给班级
Module MyGem
class MyClass
def initialize(params)
@params = params
end
def write_to_session
if @params[:param]
#Do stuff...
end
end
end
但是我想知道是否可以在没有传递这些变量的情况下使用这些变量 端
答案 0 :(得分:0)
在类中操作会话很好 - 它只是另一个存储位置。最好是抽象它而不是弄乱控制器代码。
只需使用会话初始化课程
def initialize(session, params)
然后做你需要的一切