2011-11-14 17 views
4

私はこの質問を以前に聞いたことがありましたが、私は非常に曖昧でした。多くの人々がRubyとRoRから始まったばかりなので、 "Hello、World!最初。私は答えが正直であったことを感謝しますが、これは私のプロジェクトの一部です。そして、私はそれがすぐに完了するようにしたいので、後で問題は少なくなります。RoR、これはどのようにモデル化すればよいですか?

は、私は何をしようとしていることはこれです:

が、私は基本的にユーザーが テーブルを作成することを可能にするWebアプリケーションを作っています。テーブル名を指定し、複数の列(フィールド)を追加します。次に、 のエントリ(行)を通常の表のように追加します。

たとえば、ユーザーは「ハイスコア」という表を作成できます。次に フィールドに「名前」、「ポイント」、「実績」を追加します。これらの3つは の列になります。次に、エントリに「John」、「123」、 「Gold」などのエントリを追加できます。

これをActive-Records Baseサブクラスでどのようにモデル化できますか?基本的には、これまでのチュートリアルから学んだ のものから、モデルには既定のフィールドがあります。今、 私は動的なフィールドを持っています。

ありがとうございました。

+0

私はそれを試していませんが、[テーブルを作成する](http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-create_table)と[カラムを追加する](http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_column)をActiveRecordで簡単に作成できます。所定のフィールドを持つモデルに関しては、それは実際には正確ではありません。 ActiveRecordは、データベーステーブル自体からフィールド名を決定します。それらは、その意味で「あらかじめ決められています」。また、スキーマを変更するときにモデル/その他の.rbファイルをリロードする必要があります(?)。 – Zabba

+0

これはあなたを助けるかもしれないhttp://stackoverflow.com/questions/5095567/creating-a-model-within-a-model-in-rails –

+1

そのようなデータモデルの場合は、SQL –

答えて

1

要件によって異なります。アプリケーションの特定の目標ではない場合は、実際には各ユーザーの新しいテーブルを作成するべきではありません。ユーザがウェブページ上の "テーブル"にデータを入力したい場合は、テーブルTableNameの1つ、ColumnNameのテーブル1つ、TableEntryの1つ、テーブルエントリーEntryValueの各カラムのテーブルをモデル化することができます。

ビューを作成するのは難しいでしょうが、それは可能です。

関連する問題