So, For the sake of performance, I’m using database sessions. I figure that while the sessions are server side, I might as well store commonly accessed objects in the session. So, I’m storing serialized versions of the current_user, current_account, and the current_user’s permissions.
The User model handels a lot of the permissions methods (things like user.can_do_whatever), but since i’m trying to be more efficient, and store commonly accessed things in the session (this allows for far fewer DB accesses), does it make sense / break any design standards to (upon each request) store the session in an instance variable in the current_user ?
As of right now, I can’t think of any alternatives.
ROR application have by default a RESTful design. One rules of REST is stateless. that mean each request from client to server must contain all of the information necessary to understand the request, and cannot take advantage of any stored context on the server.
If you have trouble with Database performance, use a cache system like memcached wich is already integrated in rails (Caching with Rails).