私はMVCが初めてです。このアプリケーションを作成するために、MongoMapper と Haml で Padrino を使用しています。
アイテムのデータベースがあり、それぞれに「params」と呼ばれるハッシュが関連付けられています。このハッシュにはいくつかの必要なキーがありますが、ほとんどは任意の/ランダムなキーです。一部のキーには、許容値の有限セットがあります。
例えば:
item.params["password"] には、可能な値の有限セットがありません。
item.params["color"] は %w{red blue green} のいずれかでなければなりません
このハッシュ内の項目のエディターを作成する最良の方法は何ですか? 自由形式の値用のテキスト フィールドと有限値用のメニューが必要です。また、これらのメニューの一番下の選択肢として「Create New」を表示したいので、すべての有限値セットをハードコードすることはできません。
これに対して私が思いつく最善の方法は、デフォルト値の単なるハッシュである新しいコレクション (テーブル) を DB に持つことです。キーがこのハッシュに含まれていない場合は、テキスト ボックスが表示されます。
しかし、もっと良い方法が必要なようです。