2017-01-23 8 views
0

そうなものがあり、このコードは非常にうまく機能:[「セットクッキー」]

response["set-cookie"]="cookieName=#{@cookieValue.split.join}" 

私が正しい名前と内容(はい、スプリットで、クッキーを設定することができます.joinも正しい)。しかし、私もドメインを設定する必要があります。 mysubdomain.mywebsite.com

しかし、私は、ドメインのCookie mywebsite.comを設定する必要があります。

私のウェブサイトは、次のようにドメインになります。

私はこのようにそれを追加した場合、クッキーが存在しないだけである。

response["set-cookie"]="cookieName=#{@cookieValue.split.join};Path=/;Domain=mywebsite.com" 

私はそれが私のために働く唯一の方法であるため、応答[「のSet-Cookie」]でクッキーを設定する必要があります長い文字列。私はあらゆる方法を試しましたが、私はこれを使う必要があります。

質問:私はクッキーを設定するためにレスポンス["set-cookie"]を使ってドメインを設定できますか?

答えて

0

ここでは初期設定を使用することをお勧めします。新しいファイルconfig/initializers/cookies.rbを作成し、そこに次のコードを置く:

options = { 
    key: 'your_cookie_name', 
    domain: 'your_domain' 
} 

Rails.application.config.session_store :cookie_store, options 

それは必須ではありません、が、これは、一つの場所であなたのクッキー関連の設定を行います。 domainオプションを使用して、Cookieのドメイン名を指定することはできます。

+0

ありがとうございますが、質問をお読みください。私はメインのクッキーのドメインを設定したくない。ちょうどそれのために。そして、私はレスポンス["set-cookie"]を使う必要があります。 – Boomerange

+0

'response'と同じように、' cookies'オブジェクトにアクセスしてレスポンスクッキーを設定することができます。 '[もっと詳しくはこちら](http://api.rubyonrails.org/classes/ActionDispatch/Cookies.html)。 – 31piy

+0

もう一度お読みください。私はクッキー["cookieName]などを知っています。私はレスポンス[" set-cookie "]を使用する必要があります – Boomerange

0

私はそれを行うことができませんでした。私は、Railsにはこれを防ぐいくつかの安全機構があると思いますが(サブドメインからドメイン用のCookieを設定するのは正しい)

しかし、私はジャバスクリプトでそれを行うことができました:コードの

document.cookie = "#{@cookieName}=#{@cookieContent};domain=yourdomain.com" 

1行が、完璧に動作します。あなたの視点に置くか、ファイルを分けてapplication.jsで要求します。私はサブドメインにいますが、最終的には親ドメインのためにクッキーを設定することができます。

関連する問題