0

Railsで製品を作成するための優れた堅牢なシステムを構築しようとしています。トップレベルには、かなり一般的な製品(Tシャツなど)があります。各製品は無制限のオプションタイプ(サイズ、色)を持つことができ、次に無制限のオプション値(小、中、大、赤、青、緑)を持つことができます。

製品に多くのオプションタイプがあり、オプションタイプに多くのオプション値があるようにモデルを設定しました。

私が立ち往生しているのは、部品番号の作成方法です。部品番号は、特定の製品に対して選択されたオプションタイプ/値に基づいて作成される個々の値です。たとえば、TSHIRT-LGは、サイズ:大、色:緑が選択されたTシャツの部品番号である可能性があります。

これまでの私の戦略は、部品番号を製品およびオプション値に関連付けることだったと思います。バックエンドでは、管理者は、製品に属するオプションタイプに属するオプション値の組み合わせを選択して部品番号を作成する必要があります。フロントエンドでは、ユーザーは好みのオプションを選択でき、選択内容に基づいて正しい部品番号が表示されることを確認できます。http://railscasts.com/episodes/196-nested-model-form-revisedに基づいて、ネストされたモデルを使用して製品フォームを作成しました。オプションの作成は問題ではありませんが、オプション値に基づいて部品番号を作成するためのフォームを作成する方法に固執しています。ドロップダウンメニューを使用して既存のオプション値を選択したいのですが、うまく機能させることができません。

4

2 に答える 2

2

最初に、部品番号をどの程度正確にコーディングするか、部品番号を作成するためにどの属性を使用するか、どのように表示するかを決定する必要があります。

例: TSHIRT-XLG-MP-001

part_no というフィールドがあり、管理者がアイテムを作成するときに

before_save: create_part_no
validates_uniqueness_of :part_no

def create_part_no
  name + '-' + size + '-' + gender+ '-' + id
end

管理者が変更できるようにする場合は、 before_save と

<%= f.text_field :part_no, default => :create_part_no %>

いくつかの ajax が必要な場合があります

于 2012-11-09T15:32:21.467 に答える
1

Ryan はまた、動的選択メニューに古いが素晴らしいスクリーン キャストを持っています: http://railscasts.com/episodes/88-dynamic-select-menus

多分それは役立ちます!

于 2012-11-08T23:39:23.217 に答える