1

標準的な e コマース モデルがあります: ProductCategoryProductOrderおよびOrderItem

OrderItemモデルには柱がありproduct_idます。ユーザーが注文を作成して新しい注文項目を追加するとき、最初に製品カテゴリを選択させ (で)、次にこのカテゴリの製品のみselect_tagをロードさせたいと考えています。f.collection_select :product_id

今、私は次のように_order_item_fields.html.haml見えます:

.form-group
  = label_tag 'product_category_id', 'Category'
  = select_tag 'product_category_id', options_for_select(ProductCategory.all, 'id', 'name')

.form-group
  = f.label :product_id, 'Product'
  = f.collection_select :product_id, {# now it's empty}, :id, :name, {prompt: 'Choose category first'}

そのため、選択したカテゴリに基づいて、データをロードするための JS 関数を作成する必要があります。タグからの選択で呼び出される関数として書き込む必要があるのかdef​​ 、orders_controllerそれともできるのかわかりません。orders.coffeeproduct_category_id

正しい道を教えてもらえますか?

助けてくれてありがとう!

4

1 に答える 1