SinatraとRackを使用してFacebook Canvasアプリケーションでセッションを使用しています。SinatraをFacebook Canvasアプリケーション用に使用した未定義のメソッド 'session'
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'
の次のコードを使用してみました、私はラックの下のバージョンに劣化する/アップグレードするか、この事を動作させるために、コードのいくつかの作品を追加する必要はありますか? env['rack.session']
の代わりを使用して
set :protection, :except => [:remote_token, :frame_options]