2010-09-14 5 views
1

J'ai configuré un hôte d'actifs sur assets.domain.com mais il semble que des cookies soient envoyés avec des demandes à assets.domain.com. J'ai lu quelque part que si vous avez des cookies sur domain.com, cela arrivera.Rails: Set cookie uniquement sur www sous-domaine?

Donc, je suppose que j'essaye de placer des biscuits seulement à www.domain.com de sorte que des demandes à assets.domain.com n'enverront pas des biscuits. (J'ai aussi une redirection permanente de domain.com à www.domain.com)

Comment faire cela dans Rails ??

Répondre

2

Pour définir un cookie sur le domaine spécifique:

cookies[:my_cookie] = {:value => 'Tasty Cookie', :domain => 'www.domain.com'} 

Un Gotcha est que vous devez également spécifier le domaine lorsque vous supprimez les cookies spécifiques au domaine:

cookies.delete(:my_cookie, :domain => 'www.domain.com') 

Pour vous assurer que je ne » N'oubliez pas, je fais généralement une aide pour la configuration et la suppression des cookies où le domaine par défaut est toujours spécifié.

+0

Salut, y a-t-il une sorte de paramètre global de sorte que tous mes cookies sont définis sur ce sous-domaine? –

+0

Il ya des cookies de session (google pour cela), mais les cookies réguliers seraient toujours sur l'ancien domaine. Si vous n'aimez pas l'idée de définir/supprimer des cookies à partir d'une méthode d'aide, j'ai vu des gens contourner cela en étendant ActionController :: Cookies :: CookieJar pour inclure leur domaine par défaut. – jdeseno

Questions connexes