まずはDB設計から。といっても簡単に。Railsなら後から変更も楽に違いない(思い込み)。
┌──────────┐ ┌────────┐ │User │n⇔n│Follow │ │──────────│ │────────│ │名前、パスワード、 │ │user_id │ │プロフィール、設定、│ │ followee_id │ │などなど… │ └────────┘ └──────────┘ 1 ↓ n ┌──────────┐ │Status │ │──────────│ │user_id │ │発言内容 │ └──────────┘
なんか崩れてるが心の目で見てください。
User:ユーザ情報を管理。ログイン等もこの情報をもとに行う。
Status: ユーザの発言を管理するテーブル。複数の発言が特定のユーザに属する(1:nの関係)
Follower: 特定のユーザがFollowしているユーザ(Follower)、あるいは逆にFollowされているユーザ(Followee)を関連づけるテーブル。
Railsでは普通全てのテーブルの各エントリにID (integer)をつけて管理するようなので、テーブル間の関連はそのIDで示します。
で、こんだけ書いておいて何ですが、まずはFollowerは抜きの、単なる独り言サイト(ユーザが独り言を書き込むだけのモノ)を作り、後からFollow機能を入れていくという方針にしようと思います。