2017-12-31 107 views
0

私は学習開発者です。製品&私が働いている会社の在庫追跡プラットフォームと、私のRailsアプリケーションはProductsテーブルを持っています。 Productsテーブル内で私が何をしたいのか擬似テーブルエントリ

などSKUDescriptionUPCManufacturer、として、基本的なエントリーの集まりですへtext_areaのようなものにカスタムパラメータを挿入するCreateページ内のオプションを持っていますたとえば、Voltage列の恩恵を受ける小さな製品セットしかなく、使用頻度の低いオプションを使用してマイグレーションを氾濫させたくない場合など、製品固有のエントリを作成します。

'Voltage|120 Volts' 
'Housing Material|Steel' 
'Duct Size|4"' 

をして、これらの製品のShowページで独自の行を次のようになります。私は描いています。

すでにこれを達成している宝石やテンプレートを知っている人はいますか、それとも深いところで自分自身で潜り込む必要がありますか?私はこれが私のスキルセットから現在外れていることを恐れています。

答えて

2

1つの列に複数の動的値をハッシュとして格納できるように、1つのhstore列を移行に含めることができます。

hereからhstoreの詳細を読むことができます。

hstoreを使用して、テーブルのproductの動的バリアントを保存しました。

+0

ありがとうございました!私がhstoreで見つけたすべての例では、クエリを実行するときに、この例のようにキーが事前定義されていると仮定します。 'User.where(" preferences?:key "、key:" github " ) '。列内にあるキー/値のペアに対して 'each'ループを実行することは可能でしょうか? –

+0

はい、hstoreカラムがあなたのwhereクエリの一部でない場合は、単純に.eachを直接hstoreカラムに使用することができます。 hstoreカラムを含むユーザオブジェクトがある場合。このように繰り返すことができます user = User.where( "あなたのクエリ") #code user.prefrences.each do | key、value | #お客様のコード end hstoreには、ハッシュデータ構造のすべてのプロパティがあります。 –

+0

OK、正しい方向のガイダンスをありがとうございます! –