0

これはかなり単純だと思います…でも、わかりません。2 つのモデル (組み合わせと canvas_price) の間に has_many-relationship があります。

組み合わせ.rb:

class Combination < ActiveRecord::Base
  has_many :canvas_prices, :dependent => :delete_all

  accepts_nested_attributes_for :canvas_prices,
                                :allow_destroy => true,
                                :reject_if => lambda { |a| a[:name].blank? }
end

canvas_price.rb:

class CanvasPrice < ActiveRecord::Base
    belongs_to :combination
end

私のフォームには、JavaScript を介してネストされた CanvasPrice フォームの入力を削除するリンクがあります。

私の問題は、これらのフィールドの 1 つまたは複数を削除して組み合わせを更新すると、関連する CanvasPrices が削除されないことです。ただし、削除したい CanvasPrices は私のパラメーターにはありません。どうすればこれを達成できますか?

4

1 に答える 1

0

わかりました、非常に簡単です…非表示の入力を使用して_delete-paramを追加するのと同じくらい簡単でした。たとえば、combination [canvas_prices] [0] [_ delete]=trueです。

この動作は、has_manyまたはaccepts_nested_attributes_forメソッドで直接構成できると思いました。

于 2012-10-13T11:27:50.640 に答える