複数のユーザーが独自のテーブルを作成し、それらのテーブルにフィールドと「出場者」を入力できるアプリケーションを構築しようとしています。
Railsチュートリアル( http://ruby.railstutorial.org/ruby-on-rails-tutorial-book )に従って行った作業に便乗しようとしているので、そこで作成されたユーザーモデルを使用しています。
私の現在の考えは、次のレイアウトを持つことです:
**User**
- ID
- Name
- Email
- Password
- Created at
- Updated at
- has_many(tables)
**Table**
- ID
- belongs_to (user) through (user.id)
- Title
- Field 1 (string)
- Field 2 (string)
- Field ... (string)
- Field 10 (string)
- has_many(contestants)
**Contestant**
- ID
- belongs_to (table) through (table.id)
- Name
- Field 1 value
- Field 2 value
- Field ... value
- Field 10 value
ただし、フィールドの数を手動で入力する (そして制限する必要がある) のは面倒なようで、より少ないフィールドでテーブルを作成したいユーザーをどのように考慮すればよいかよくわかりません。
また、フィールド値のタイトル (および型) での競技者モデルの継承についてはわかりません。つまり、フィールドが int になりたい場合や、文字列になりたい場合があります。
私はこれを正しい方法で行っていますか、それとも私が利用していないより良い構造や Ruby/Railism がありますか?