2010-01-06 6 views

Répondre

1

Le Ruby CGI doc dit:

Les cookies HTTP sont automatiquement analysés à partir de la demande. Ils sont disponibles à partir de l'accesseur cookies(), qui retourne un hash du nom du cookie à l'objet CGI :: Cookie.

Si c'est le cas, alors les cookies sont simplement stockés dans un hachage régulier. Vous pouvez utiliser le Hash API régulièrement pour vérifier la présence du cookie cible, y compris Hash.key?():

if cgi.cookies().key?("mycookie") 
    p "Cookie value is #{cgi.cookies()["mycookie"].value}" 
else 
    p "Cookie does not exist." 
end 
+0

Serait-il possible de me montrer un extrait de code pour vérifier si un cookie appelé «mycookie» existe? Je sais en PHP, vous pouvez utiliser quelque chose comme si (isset [cookiename]) Merci pour la réponse – Henry

+0

J'écrivais en fait un en place pendant que vous laissiez ce commentaire :-) –

+0

FYI: J'ai écrit cet exemple à main levée; Je ne l'ai pas réellement couru. Il devrait être assez proche pour vous y mettre, mais soyez à l'affût des erreurs (mineures). –

0

Cela fonctionne pour moi à l'aide mince.

- if cookies().key?("cookieName") 
    p Cookie value is #{cookies()["cookieName"]} 
- else 
    p "Cookie does not exist." 
end 

d'abord se traduira par true si présent cookie.

Questions connexes