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)
example.com/users/3/friends
or
example.com/users/3/frienships/friends (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
Thanks