table relationship question

if I want to allow users to rate each other.. would this be the way
to do it?

rating model:

belongs_to :users foriegn_key=>'rated_user_id'
belongs_to :users foriegn_key=>'rating_user_id'

user model:

has_many :rating foriegn_key=>'rated_user_id'
has_many :rating foriegn_key=>'rating_user_id'

rating_user table

int rating_user_id;
int rated_user_id;

Ratings table

int rating;
int rated_user_id;
int rating_user_id;

Looks good to me, assuming one rating per user-user combination (i.e.,
can't rate the same guy twice and still save the old rating).


No, I think you need something like this (and be sure to spell
"foreign_key" right ;):

Rating model:

   belongs_to :rating_user, :class_name => "User", :foreign_key =>
   belongs_to :rated_user, :class_name => "User", :foreign_key =>

User model:

   has_many :received_ratings, :class_name => "Rating", :foreign_key =>
   has_many :given_ratings, :class_name => "Rating", :foreign_key =>

I think you have an extra table... you shouldn't need rating_user.