Association of User roles
1.User
User Roles belongs to exactly one user. It also has polymorphic associations with "granted by user" and "revoked by user" with class name User.
belongs_to :user
# Every user role can have a granted by user
belongs_to :granted_by_user, :class_name => "User", :foreign_key => :granted_by_user_id
# Every user role can have a revoked by user
belongs_to :revoked_by_user, :class_name => 'User', :foreign_key => :revoked_by_user_id
2.Role
Every User Role belongs to exactly one role.
# Every user role belongs to exactly one role
belongs_to :role