ブラウザ以外のUserAgentからRailsアプリケーションにリクエストを送る場合、Railsが管理しているsessionの仕組みとは別に、自分でセッションをセットアップしたくなる事があります。

そのような場合は、たとえばクエリパラメータからsession_idを渡したりするのですが、GET methodで受け渡したsession_idからRailsのsessionを再現するためには、以下のように記述します。

ruby_on_rails>>
FooController < ApplicationController
session :off, :if => (proc do |req|
return false unless req.parameters[:action] == 'bar'
if req.parameters[:session_id]
@original_session_options = req.session_options
req.session_options[:session_id] = req.parameters[:session_id]
end
false
end)
prepend_before_filter :only => 'bar' do
if @original_session_options
@original_session_options[:session_id] = nil
end
end
<<--

before_filterを使っていないのは、before_filterでは
Railsのsession処理に間に合わないためです。

更新履歴

  • 2007/11/20 不具合があったため内容を修正しました
posted by genki genki on Tue 20 Nov 2007 at 15:42 with 0 comments
Contents rssrss
光ファイバーを二次元振動させて走査するAR用ディスプレイ
因果の取り違え
Swift2's defer for CoffeeScript
mongodb-3.0からcreateIndexのdropDupsが無くなったらしい
mongodb-3.0以降のWiredTigerの設定を動的に変更する方法
一般楕円の高速生成アルゴリズムへの道標
farro mantecatoのレシピ
Droonga関連の記事のまとめ
RuntimeErrorの特定のメッセージに限定してrescueする方法
jQueryでscriptタグを実行せずにappendする
Tags
coffeescriptdefergroongajsmemonodenodejs
Comments rssrss
https://shirbetreview.com/contact/ https://shirbetreview.com/contact/: اگر هدف آموزش شرط بندی باشد، متن باید بیشتر جنبه... 05/20 15:36
http://c.e.rnmn@.r.os.p.e.r.les.c@pezedium.free.fr/?a[]=%3Ca%20href=https://kaizenaire.com/sg/boarding-gate-singapore-everything-you-need-to-know/%3Ejalan%20bukit%20merah%20gateway%20theatre%20singapore%3C/a%3E%3Cmeta%20http-equiv=refresh%20content=0;url=https://kaizenaire.com/sg/boarding-gate-singapore-everything-you-need-to-know/%20/%3E http://c.e.rnmn@.r.os.p.e.r.les.c@pezedium.free.fr/?a[]=%3Ca%20href=https://kaizenaire.com/sg/boarding-gate-singapore-everything-you-need-to-know/%3Ejalan%20bukit%20merah%20gateway%20theatre%20singapore%3C/a%3E%3Cmeta%20http-equiv=refresh%20content=0;url=https://kaizenaire.com/sg/boarding-gate-singapore-everything-you-need-to-know/%20/%3E: Explore tһе leading promotions ⲟn Kaizenaire.com, ... 05/20 15:11
https://288school.ru/ https://288school.ru/: При попытке создания второго счета на один адрес к... 05/20 13:57
https://bettingkhabar.com/crash-game-bot-review/ https://bettingkhabar.com/crash-game-bot-review/: برای موضوع مقایسه سایت‌های سیب بت مطرح می‌شود، بهت... 05/20 13:47
https://hoidotquyvietnam.com/question/premium-quality-furniture-singapore-shopping-tips-for-2026-4/ https://hoidotquyvietnam.com/question/premium-quality-furniture-singapore-shopping-tips-for-2026-4/: Singapore Mattress Guide: Тhe Real Factors Thɑt Ma... 05/20 13:23
https://mobilebettingparsi.com/terms/ https://mobilebettingparsi.com/terms/: وقتی صحبت از تخته نرد شرطی می‌شود، بهتر است متن ... 05/20 11:49
https://takhtenardsharti.com/poker-bluffing-guide/ https://takhtenardsharti.com/poker-bluffing-guide/: در بعضی بررسی‌ها بیشتر حالت دامنه نام‌محور دارند و... 05/20 10:56
https://7k-games-top.com/ https://7k-games-top.com/: В лицензионном онлайн-казино промопредложения наце... 05/20 10:42
Services from s21g
YOMU Web小説リーダー
小説投稿サイトの公式ページを開き、読みやすい表示、しおり、進捗保存、読み上げで読書を続けやすくするiPhoneアプリです。
補助探
公開されている補助金・助成金情報を集約し、条件に合う制度を探しやすくするサービスです。
jotter.me
個人開発者のためのホスティング一体型ノートサービス
ハンドミラー
iPhone向けの手鏡アプリ
ツイプロ(twpro)
Twitterプロフィールの高速検索エンジン