2016-04-13 7 views
0

ユーザーがindexにアクセスしてshowにリダイレクトしたとき。あなたがindexで見ることができるように私は、私はアクションshowでデバッガを使用する場合リダイレクト後にセッションが失われる

skip_before_filter :verify_authenticity_token, only: :show 


    def show 
    debugger 
    render inline: "<h3>hello</h3>" 
    end 


    def index 
    session[:user] = "hans" 
    debugger 
    redirect_to action: "show" 
    end 

の設定に変数を設定しています:

その後
session 
    => #<ActionDispatch::Request::Session:0x7f9a8e0882e0 not yet loaded> 

私はとのセッションを初期化するために強制的:

session[:init] = true 

次に、セッションがありますが、session[:user] == nilsession_idも同じです。session_id I indexに入ります。

どうしますか? リダイレクト後に新しいセッションが開始されるのはなぜですか?

おかげ

+0

奇妙ですが、私は観察していませんそのような行動。私の 'session'データは、ターゲットアクションで適切にアクセス可能です。あなたは 'id'を渡す必要がないので、おそらく' show'アクションのカスタムルートを持っていますか? – BoraMa

答えて

0

私は、デバッガを使用して、セッション変数を取得するプロセスを中断しているという点で問題であると思います。私は次の操作を行う場合は、次の

class PostsController < ApplicationController 
    def index 
    session[:user] = "hans" 
    redirect_to action: "show" 
    end 

    def show 
    render inline: "USER:" + session[:user] 
    end 
end 

を私がURLを入力します。/ポスト/インデックス

をそして、私の出力は次のとおりです。 "ユーザー:ハンス"

関連する問題