It already is cached. tail -f log/development.log and then open up
the console. Watch the log file as you run these queries
u = User.find 1 # SELECT ...
u.user_properties # SELECT ...
u.user_properties # no query
Rails caches the association, so you don't have to worry about it.
You can reduce the number of queries down to one by using the :include
option to find.
u = User.find 1, :include => :user_properties
Rails will do a join and pull all the info in one query.