スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PadrinoでsessionをMongoDBに保存する

PadrinoはデフォルトでSinatraのCookieを用いたsessionを使っているようなので、これをmongo-storeのrack/session/mongoを使うように変更します。

1. Gemfileの修正
vi Gemfile
gem 'mongo-store'

bundle install

2.boot.rbの修正
requireはLoad our dependenciesの下あたりに書きます。
vi config/boot.rb
require 'rack/session/mongo'

Padrino.before_load do
conn = Mongo::Connection.new('localhost', 27017)
Padrino.use Rack::Session::Mongo, {
connection: conn,
db: 'test',
expire_after: 24 * 3600
}
end


3. app.rbの修正
もし、サブアプリケーションを使っている場合、その中のapp.rbを修正してください。
vi app/app.rb
disable :sessions


4. sessionの使用
適当なコントローラーで
  get :index do
i = session[:index]
i = i ? i+1 : 1
session[:index] = i
i.to_s
end

スポンサーサイト

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。