我正在用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
试试这样:
require 'sinatra/base'
module Sinatra
module SessionHelper
def current_user
session['current_user']
end
end
register current_user
end
然后在控制器的某个地方,你可以这样做:
user = current_user
看一下关于编写Sinatra扩展的文档-它也适用于其他自定义模块。
希望有帮助!