2011-11-15 5 views
1

既存のRubyクラスにユーザ定義フィールド機能を追加するための既存の宝石はありますか?タクソノミー/ユーザ定義フィールド用の宝物

...そして最終的に私は、ユーザーがすることができますしたい:

私が探している宝石/ソリューションのタイプの2つの例は、 Webアプリケーションを使用して、ユーザー定義オブジェクトの独自の分類を作成します。

答えて

2

私はancestryを使用しており、建物のタクソノミについてはtaxisと評価されています。

「ユーザー定義のフィールド機能」の意味はわかりませんが、あなたはモデルの動的な属性を意味しますか?

1つのオプションは単純にハッシュをシリアライズすることですが、ユーザーの選択に基づいてタイプ情報を追加する必要があります。

(文字列、int、日付など)利用可能なタイプが限られている可能性が高いので、その値を含む薄型モデル(StringVarIntVarなど)動的な「列」の名前と通常の関連付けを使用して、たとえばhas_many :string_vars

+0

はい、モデルの動的属性です。つまり、ユーザーがオブジェクトに属性を追加したり、型(整数、文字列、日付など)を指定してオブジェクト自体の横に格納することができます。追加の属性を余分な列として格納する必要はありません。スキーマをプログラムで変更することは私の目標ではありません。 – jefflunt

+0

@normalocity Meh。ハッシュをシリアライズしますが、入力を自分で追加する必要があります。 –

+0

ハッハッハ、ハッシュをシリアライズして、その代わりに、これを行うより良い方法であると考えています。結果として単一のテーブル列になり、結果が単純なDBクエリになります。 – jefflunt

1

すでに回答があるので、この記事は後ほど参考にしています... EAV modelを探しているように私に聞こえます。たとえば、エンティティ(エンティティタイプと呼ぶ)、属性(「名前」というテキストフィールド属性や属性タイプなど)、そして必要な値そのテキストフィールドに移動してユーザーにアタッチします。すべてのユーザー(エンティティ)は、それに関連付けられた属性(名前)を持つことができます。これはEAVモデルで達成できます。

関連する問題