2012-02-13 9 views
2

フォーム変数を直接セッション変数に送信するプロセスを説明するリソースを見つけるのに何時間も費やしましたが、何も見つけられませんでした。Ruby on Rails - セッション変数に直接フォームデータを送信する

ユーザーがこの特定のフォームでサブミットしたときにデータをデータベースに保存したくないということは、ユーザーがフォームをサブミットするときに変数session[:member_pin]に割り当てたいからです。入力したピンはメンバーデータベースレコードのピンと一致します。

私が何をしようとしているかについてもう解明が必要な場合はお知らせください。ありがとうございます。

+0

... – coreyward

+0

ああ!私はdidnの – briankulp

+1

'session [:verified] = User.find_by_pin(params [:pin])present?' – coreyward

答えて

4

。コントローラのアクションで、必要なパラメータを取得してセッションに保存します。例:

def some_action 
    session[:user_id] = User.find_by_pin(params[:pin]) if params[:pin] 
end 

次に、アプリケーションコントローラで、このようなヘルパーメソッドを作成します。次に、あなたのビューで "current_user"メソッドにアクセスできるはずです。あなたがピンと検証の任意のユーザーを持っていない場合(これがnilになります。あなたはちょうどそれが提出されたときにピンを確認する?すべてのセッションで何かを格納する必要がありますなぜ

def current_user 
    User.find(session[:user_id]) if session[:user_id].present? 
end 
+0

私の 'form_for 'はどのように設定されますか? – briankulp

+0

ちょうど答えを更新しました。もう一度確認してください。フォームはテキストフィールドに「ピン」を提出するだけですエッセンス –

+0

ありがとう! – briankulp

0

多分あなたのコントローラの方法でこのような何か:あなたは、データベースにフォームが送信されるたびにデータを保存する必要はありません

session[:member_pin] = params[:member_pin_input_name] 
関連する問題