6

私の問題は質問nested_form gem add works but remove fails...why?と多少似ています。Rails:nested_form gem removeが機能しないが動作しない

商品のサブカテゴリがproduct_sub_categoriesにリンクされている商品編集ページがあります。製品にサブカテゴリを割り当てるために、product_sub_categoriesにネストされた属性を使用しました。したがって、製品は複数のsub_categoriesを持つことができます。製品モデルで

has_many :product_sub_categories 
has_many :sub_categories, :through => :product_sub_categories 
accepts_nested_attributes_for :product_sub_categories, :allow_destroy => true 

および製品編集ビューで:

<%= f.fields_for :product_sub_categories do |product_sub_category| %> 
<%= product_sub_category.collection_select :sub_category_id, @sub_categories, :id, :sub_category, {:include_blank => 'Select a Sub Category'} %> 
<%= product_sub_category.link_to_remove "Remove", :class => "subcatlink" %> 
<% end %> 

コードは、サブカテゴリーを追加することに適しています。しかし、サブカテゴリを削除すると失敗します。ログが与える:

"product_sub_categories_attributes"=>{"0"=>{"sub_category_id"=>"1", "_destroy"=>"false", "id"=>"9"}, "1"=>{"sub_category_id"=>"1", "_destroy"=>"1", "id"=>"17"}}, 
ProductSubCategory Load (0.2ms)[0m [1mSELECT `product_sub_categories`.* FROM `product_sub_categories` WHERE `product_sub_categories`.`product_id` = 8 AND `product_sub_categories`.`id` IN (9, 17) 

けれども、私は削除をクリックして、それだけで_destroy =「1」を渡しますが、サブカテゴリを破壊しません。

解決策を教えてもらえますか?

アップデート:私の愚かな過ちのため

非常に申し訳ありません。私はコードを正しく見ていませんでした。モデルでは、私は複写した

accepts_nested_attributes_for :product_sub_categories 

allow_destroy => trueを除いて。私がそれを削除すると、コードは正常に動作しました。

答えて

0

アソシエーションの隣にdependent destroy句を追加すると、製品のサブカテゴリが破棄されます。

has_many :product_sub_categories, :dependent => :destroy 
+0

didnt work。まだ同じエラー! – user2206724

+0

エラーは何ですか? –

+0

ちょっと働いた!更新されました。 – user2206724

関連する問題