你必须定义:
# user.rb
has_many :items
has_many :watches
has_many :watched_items, :through => :watches
# item.rb
belongs_to :user
has_many :watches
has_many :watchers, :through => :watches
和
# watch.rb
belongs_to :watcher, :class_name => 'User', :foreign_key => "user_id"
belongs_to :watched_item, :class_name => 'Item', :foreign_key => "item_id"
能够打电话
item.watchers
user.watched_items << item