標準的な e コマース モデルがあります: ProductCategory
、Product
、Order
および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.coffee
product_category_id
正しい道を教えてもらえますか?
助けてくれてありがとう!