Problems w/ User having many friends

I'm not an expert, but:

Try finding the User.friends instead of passing conditions manually.

@users = User.friends.find(:all)

I've never used the ":through" like you did with "friendships"
If the code above doesn't work try this:
{I guess this is the syntax based on the "through relationship")

@users = User.friendships.friends.find(:all)

You can do some edit in the route file, and see waht you want by
accessing this URLs:
(doesn't need controller stuff)

or (again, I don't know about the
":through" thing)

The code should be:

map.resources :users, :has_many => :friends, :through => :friendships

or just, I don't know:

map.resources :users, :has_many => :friends