私はProduct
とProductCategory
という2つのモデルを持っています。 Product
はProductCategory
に属し、商品カテゴリには多くの商品も含まれています。今、新しいProduct
を作成するための選択タグを作成しようとしています。ここでカテゴリを選択し、この新しい製品をそのカテゴリに属するように設定します。私のコントローラでは、私はselectタグに別のモデルが属するモデルを入れよう
def create
@product = Product.new(product_params)
@product.save
redirect_to products_path
end
private
def product_params
params.require(:product).permit(:name, :description, :price, :product_category_id)
end
を持っており、私の見解で、私はこのような何か実行しようとしました:
<%= form_for @product do |f| %>
<%= f.collection_select :product_category_ids, ProductCategory.all, :id, :name,
{multiple: true} %>
<% end %>
をしかし、私は私が作る必要がありますどのように次のエラーに
undefined method `product_category_ids' for #<Product:0x007f4982afa758>
を持っていますこの選択タグは機能しますか?
は、私はまた、このような方法で行うことを試みた
を追加しました:
<%= f.select :product_category_id, ProductCategory.all.collect { |c| [c.name, c.id] }, include_blank: true %>
しかし、それだけでemptry option
タグを私に戻りました。
の列がproductCategoryに属しているではありません。詳細については、https://github.com/ryanb/nested_form –
をご覧ください。@Udaykumardasドキュメントを見てきましたが、逆に何かが必要なことがあります。私は 'ProductCategory'に属する' Product'を持っています。 – AlexNikolaev94