I want to access cookies and then perform the same operation regardless of the action or controller.
I don't want to write out a method that gets called from each of my myriad action methods because, aside from being a pain, it doesn't make for very agile code. I'd rather make the call to my cookie-handling method from the ApplicationController class (the superclass for all the controller classes) in application_controller.rb.
However, calling cookies()
in the body of the ApplicationController class raises an 'undefined method' error. (I guess that cookies
doesn't get defined until later.)
What can I do? Should I overwrite the initialize()
method of the ApplicationController and call my cookie-handling method from there? If so, how should I pass the arguments to the super constructor?
P.S. I'm using Rails 2.3.5
Cookies, Sessions and Flashes are three special objects that Rails gives you in which each behave a lot like hashes. They are used to persist data between requests, whether until just the next request, until the browser is closed, or until a specified expiration has been reached.
Ruby on Rails parses cookies and serializes these files into key-value pairs (hashes) and stores them into a session. What is a session? Session is a type of cookie that is unique to the user and stores information about the user when he/she is logged in.
It's a hash, not a method:
cookies[:some_key]
... instead of:
cookies(:some_key)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With