サブドメインを使用する私のレール3.1rc6アプリケーションにステージング環境と実稼働環境があります。私はこれらの環境で異なるドメイン名を購入して設定しました。なぜなら、デフォルトのsomething-something.herokuapp.comはサブドメインでうまく動作しないからです。ステージングとプロダクションを処理するsession_store.rbを設定しますか?
私は1つの環境のためにこれにsession_store.rbを設定すると、すべてが正常に動作します:
AppName::Application.config.session_store :cookie_store, :key => '_sample_app_session' , :domain => '.mystagingdomain.co.uk'
をしかし、私は環境固有のドメイン名を可能にするために、条件付きで追加するように見えることはできません。
私は動作しません
AppName::Application.config.session_store :cookie_store, :key => '_sample_app_session' , :domain => '.mystagingdomain.co.uk' if Rails.env.staging?
AppName::Application.config.session_store :cookie_store, :key => '_sample_app_session' , :domain => '.myproductiondomain.com' if Rails.env.production?
を試してみました。
クラッキング、ありがとうございます。 – snowangel
私はこの回答が私を助けたので、私はここに追加します。サブドメインのヘルパードメインlvh.meを使用して開発している場合は、DOMAIN_REGEXPを介してTLDと解釈され、example.comを模倣することはなく、代わりにexample.com.auのように動作しますtld_length of 1 [Github source](https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/middleware/cookies.rb#L103) – toxaq