[前][次][番号順一覧][スレッド一覧]

rails:2161

From: "伊藤 祐策" <ito@m...>
Date: Mon, 14 May 2007 11:10:41 +0900
Subject: [rails:2161] Re: ケータイのために、URL sessions

こんにちわ。マイネット・ジャパンの伊藤です。

> jpmobileを使ったり、transsidをつかうと
transsidは手っ取り早いですが、全ての</form>にhiddenフィールドを
付与する実装なので注意が必要です。
また、ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS[:session_key]を
application.rbで定義しているsession :session_key => '_session_id' と
同じ値にしないと動かないことにも注意が必要です。

jpmobileは初めて知りました。参考にさせていただきます。

railsはsession_keyで設定したキーと同じクエリを受け取ると、セッションIDとして
認識してくれるようなので、たとえば以下のようなURLでアクセスがあったとき、
 ttp://hogefuga.com/controller/action?hoge_sid=12345678abcdefef
このとき、application.rbでsession :session_key => 'hoge_sid'と設定しておけば、
12345678abcdefefがセッションIDとして認識されます。

これを踏まえたうえで独自実装したいのであれば、セッションIDを引き回したい
リンクを生成するヘルパを以下のように作ります。

# application_helper.rb
def link_with_sid(name, options = {}, html_options = nil,
*parameters_for_method_reference)
 options[:hoge_sid]= session.session_id # ←ここがポイント
 link_to(name, options , html_options , *parameters_for_method_reference)
end

リファラ等でセッションIDが漏れる可能性を考慮しなければならないので、
セッションIDなしでリンクを生成するヘルパとは別に作っておいたほうが無難です。

同じ要領で、form_tagを使う際にも自動的にセッションIDをhiddenで
埋め込みたかったのですが、どうしてもうまくいきませんでした。
仕方ないので毎回hiddenフィールドを生成するよう実装しています。
どなたかform_tagの<form> ... </form>内に任意の文字列を挿入する方法を
ご存知でしたらぜひ教えてください。


07/05/14 に Fujioka<fuj@r...> さんは書きました:
> 藤岡です。
>
> > 現在弊社はケータイ向けコンテンツを開発しておりますので、sessionはURL上で
> > 使いたいんです。今まで、自分のセッション関数を使っていたけれど、Railsの便利
> > url_to などと named routes を使いたいので、何かもっといい方法ありますか?
> >
> > sessionはDBを使うように設定はできますが、URLでは、自分で開発しかないみた
> > いです。
> >
> > よろしくお願いいたします。
> >
> > *日本語が変なら、スミマセン!
>
> jpmobileを使ったり、transsidをつかうと
> session idをURLにつけられますが、それでは解決しませんか?
> はずしていたらすみません。
>
>
> --
> ML: rails@r...
> 使い方: http://QuickML.com/
>


-- 
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Mynet Japan
 伊藤 祐策 ito@m...
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

      2155 2007-05-13 10:12 [dc@p...             ] ケータイのために、URL sessions          
      2160 2007-05-14 03:27 ┗[fuj@r...            ]                                       
->    2161 2007-05-14 04:10  ┗[ito@m...            ]                                     
      2162 2007-05-14 04:57   ┗[sudo@w...           ]                                   
      2164 2007-05-14 06:16    ┗[dc@p...             ]                                 
      2165 2007-05-14 07:49     ┗[sudo@w...           ]