2011-12-13 70 views
1

我開發使用Ruby 1.9.2和1.3西納特拉的應用程序訪問西納特拉會議。 我有一個需要訪問會話數據的助手模塊。 這裏是我的模塊的片段如何從一個模塊

require 'sinatra' 

module SessionHelper 

    def current_user 
    session['current_user'] 
    end 

end 

這正常工作與紅寶石1.8.7,但是當我運行在Ruby 1.9.2應用程序,我得到一個錯誤說:undefined local variable or method 'session' for SessionHelper:Module

回答

2

嘗試類似這樣的:

require 'sinatra/base' 

module Sinatra 
    module SessionHelper 
    def current_user 
     session['current_user'] 
    end 
    end 
    register current_user 
end 

然後在你的控制器的地方,你可以這樣做:

user = current_user 

查看關於writing Sinatra extensions的文檔 - 它也適用於其他自定義模塊。

希望有幫助!

相關問題