Sinatra での永続的な Cookie の設定に問題があります。
同じキーを設定する 2 つのルートがあります。
response.set_cookie('user_id',
{ :value => params[:user_id],
:expires => Time.now + (60 * 60 * 24 * 30),
:path => '/' })
2 つのルートの唯一の違いは、一方が POST で、もう一方が GET であることです。どちらの場合も、Cookie のパスを「/」に設定しました。
別のルートで Cookie 値を取得しようとすると、次のようになります。
user_id = cookies[:user_id]
後でGETルートを使用して上書きした場合でも、POSTルートを介して設定したCookieを常に取得します。
Sinatra のこの側面に関する適切なドキュメントを見つけることができなかったので、助けていただければ幸いです。