我在使用Sinatra和Rack的Facebook Canvas应用程序中使用会话。使用Sinatra for Facebook Canvas应用程序的未定义方法“会话”
发生在Facebook画布页的错误是:
NoMethodError - undefined method `session' for #<Hash:0xa3ed0a0>:
/home/apoorv/.rvm/gems/ruby-1.9.2-p320/gems/sinatra-1.3.2/lib/sinatra/base.rb:170:in `session'
的问题肯定是有机架,因为当我运行我的应用程序如下:
红宝石application.rb中-p 3000
它不显示任何错误。我已经尝试安装机架版本:1.3.6和1.4.1,但错误仍然存在。
我也用下面的代码,而不是enable :sessions
use Rack::Session::Cookie, :key => 'rack.session',
:domain => 'static.ak.facebook.com',
:path => '/',
:secret => 'change_me'
我需要升级/降级降低机架的版本,或者添加一些代码块,使这件事情的工作试过吗?
编辑
还隔着这个问题,我有一个问题在Facebook的帆布整合我的申请其主要原因是config.ru加入这一行解决来临前:
set :protection, :except => [:remote_token, :frame_options]