各Userは0人以上の友達がいる 一方が友達リストに入れると、もう一方からも友達になる(現実には片想いってのもありますが、ここでは双方向ってことで。) という、mixiでいうマイミクシィみたいなの。 今回は、has_many :throughを使ってやってみました。 ちょっと付け加えれば関連にタグをつけたりも出来ると思います。 migration class AuthenticatedUser < ActiveRecord::Migration def self.up # ユーザテーブル create_table :users do |t| t.column :userid, :string end add_index :users, :userid # コネテーブル create_table :connections do |t| t.column :from_id, :integer