簡體   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