我正在使用Ruby 1.9.2和Sinatra 1.3开发应用程序。 我有一个需要访问会话数据的辅助模块。 这是我模块的片段
require 'sinatra'
module SessionHelper
def current_user
session['current_user']
end
end
这适用于ruby 1.8.7,但是当我使用Ruby 1.9.2运行应用程序时,我收到一条错误消息:undefined local variable or method 'session' for SessionHelper:Module
答案 0 :(得分: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上的文档 - 它也适用于其他自定义模块。
希望有所帮助!