Saya menemukan jawabannya, sepertinya Rails berusaha menjadi efisien dengan hanya membuat sesi jika ada sesuatu untuk disimpan. Jadi mengakses session.id tanpa menyimpan sesuatu tidak memberikan hasil yang konsisten.
Anda perlu memaksa sesi dibuat dengan menyimpan sesuatu di dalamnya.
TLDR:Tambahkan ini di suatu tempat sebelum Anda mengakses ID sesi.
session[:foo] = "bar"
Sumber :http://www.gani.com.au/2013/08/force-session-creation-in-rails/