$request = request
When I write this in controller, it will work. But if i need this variable in Model or Application controller, How can i ?
Models exist outside the context of a web request. You can instantiate them in irb, you can instantiate them in a delayed job, or a script, etc. If the model depended on the request object, none of these things would be possible.
As tsdbrown says, you have to somehow pass in that information from the context that uses the model.