2012-04-16 12 views
2

Railsでは、セッション変数の保存と取得が簡単です。例えばRailsとセッションのセッションとローデスのセッション

session[:user_id] = @current_user.id 

ため

ロードス島のこのようなものがあまりにも存在する場合、私は思っていました。セッション変数のようなものが存在しない場合はロードスその

@params['name'] 

で、誰もがセッションを管理するための周りにいくつかの作業を提案することができながら、

枚レールにリクエストパラメータが

params['name'] 

を通じてアクセス可能です。複数の要求にまたがって使用できるグローバル変数を使用するのが好きです。

コメント/ヒントをお願いします。

thanx。

答えて

2

私は自分のセッションをロードスで実装しました。 rhodesアプリケーションには1人のユーザーしかいないと仮定すると、あなたのユーザーまたは "セッション"で検出する必要はないので、セッションは1つだけになります。 私は、あなたが入れて、あなたの値を取得$sessionという名前のグローバルハッシュ、作成:

$session ||= {} 

そして、私はこのようにそれを使用します:私はこれを入れてapplication.rbで

$session[:user] = 'john' 

puts $session[:user] 
+1

はい、回避することができます。今のところ、私はapplication.rb内のクラス(例えばUserInfo)内にいくつかの静的変数を使用しています。私はその変数をログイン後に設定し、ログアウト時にはnilを設定しています。グローバル変数の使用は良い設計ではないと思いました。あなたはこれにコメントすることができます。あなたの答えはthnxです。 –

+0

OK、グローバル変数を使用していませんが、私はこれを開発の初期に行いました。ルビーを学んでいたときに、正しいパターンが分からなかったのです。私の意見では、あなたのアプローチは妥当で、鉱山より優れています –

+0

あなたの答えは可能な解決策の1つで、私はそれを投票します。私はいくつかの答えを待つか、より良い解決策をコメントします。 –

0

Redisデータベースに永続的な値をキー/値ペアのデータベースとして格納することもできます。

+0

thnx。あなたは同じもののいくつかの参照/例を提供することができますか?それは素晴らしいだろう.. –

+0

私たちはクライアント側(携帯電話上)のredisデータベースも使用できますか?私はそれがサーバー側で実行されていると思うので、 –

+0

あなたは私の貧弱なRhoMobileスキルを少し超えています。そのクラス/オブジェクトがリモートサーバーと同期することを許可しない場合、データ/値のペアはその電話に固有のままです。だからあなたはその電話/ユーザーのための永続的な倉庫としてそれを使うことができます。 – Martlark

関連する問題