セッションを使用しようとしていますが、奇妙な結果が得られます。
次の RSpec コードは、2 つの別個のセッションを生成しているようです。
visit start_path
post session_path, { foo: "bar" }
start_path コントローラーによって呼び出されるメソッドでは、次のようになります。
session[:started] = 'yes' puts "開始: #{session.inspect}"
セッションコントローラーで:
def create
session[:foo] = params[:foo]
head :created
puts "Sessions controller: #{session.inspect}"
end
出力は次のようになります。
Start: {"session_id"=>"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ...
Sessions controller: {"session_id"=>"yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy" ...
セッション ID が異なります。
これは、RSpec が 2 つのセッションを作成している、post 呼び出しが別のセッションを作成している、またはアプリがセッションを分離するために何かを行っているためですか?
2 つのセッションが作成されるのはなぜですか?
別の名前に変更しようとしcreate
ましたが、違いはありませんでした。
クッキーストアの使用。