繁体   English   中英

Rails4从gem访问参数和会话

[英]Rails4 accessing params and session from gem

我正在构建需要访问GET参数和当前会话的gem。

Module MyGem
    class MyClass
        def write_to_session
            session[:user_id] = nil if params[:logout]
        end
    end
end

上面的代码不起作用,因为只能在控制器中访问会话和参数。 在另一个类似的问题中,有人建议将参数传递给全班

Module MyGem
    class MyClass
        def initialize(params)
            @params = params
        end

        def write_to_session
            if @params[:param]
                #Do stuff...
            end
        end
    end

但是我想知道是否有可能只包含那些变量而不传递它们结束

在课程中处理会话很好-这只是另一个存储位置。 最好对其进行抽象处理,而不要弄乱控制器代码。

只需使用会话初始化类

def initialize(session, params)

然后做你需要的一切

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM