has_many through relation data


I have the regular has_many through setup:
has_many subscriptions
has_many magazines, through subscriptions

subscription holds important data like expiration date and other
pieces of information.

I am looking to display the subscription information without having to
resort to an extra query for each magazine.

For my particular case I have a RESTful magazines controller where I
run :
@magazines = current_user.magazines. In my view I need to display the
subscription data for each magazine.

Doing something like @magazine.subscriptions would return all
subscriptions and @magazine.subscriptions.find(:first, :conditions =>
[ 'magazine_id = xx AND user_id = xxx' ]) would have to make a query
for each item.

How would you do it?

Assuming the user id comes from params, I'm thinking:

@user = User.find(params[:id], :include {subscriptions => :magazines})