2011-01-30 4 views
1

私はかなり新しいRoRですコントローラを持っていて、そのコントローラ内に新しいメソッドで作成したインスタンス変数を保存し、createメソッドで再度参照する必要があります。メソッドコール間の変数をレールにどのように格納する必要がありますか?

HTTPはステートレスであるため、これを行うための唯一の妥当な方法は、インスタンス変数に含まれるモデルのIDをsession[]に保存してから、この値を再度作成メソッドのsession[]から呼び出します。私は変数のIDを格納するこの方法を使用してセキュリティを心配しています。ユーザーは私が格納しているものの値を変更できないようにする必要がありますsession[]

もっと良い方法がありますかこれを行う?それは安全ですか?それとも私は別のものを試すべきですか?

答えて

1

すべてのリクエストでモデルIDを再計算できない場合は、セッションを使用しても問題ありません。
session security in Railsの詳細はこちらです。

+0

でそれを読み込むのと同じ方法を使用してcreateからそれをロードし、new方法でモデルをロードできる場合;) – Mirko

+0

編集:返答ありがとう:) –

0

あなたは彼らが本当にセッションに触れることができないので、あなたは[OK]をする必要がありnew

+1

私は、URLからパラメータを取得し、そのパラメータに基づいてモデルを読み込んで、モデルのIDを変数に格納しています。別のURLなので、createメソッドのURLから同じパラメータにアクセスすることはできません。 :) –

関連する問題