私は3つのモデルを持っています。販売、商品、画像。私は、販売が作成されたときに、販売ごとに少なくとも3枚の写真と1つ以上の商品があることを確認したいと思います。これを達成する最良の方法は何でしょうか?Railsはaccepts_nested_attributesのカウントの有効性を確認します
販売モデル:
class Sale < ActiveRecord::Base
has_many :items, :dependent => :destroy
has_many :images, :through => :items
accepts_nested_attributes_for :items, :reject_if => lambda { |a| a[:title].blank? }, :allow_destroy => true
end
アイテムモデル:
class Item < ActiveRecord::Base
belongs_to :sale, :dependent => :destroy
has_many :images, :dependent => :destroy
accepts_nested_attributes_for :images
end
イメージモデル:
class Image < ActiveRecord::Base
belongs_to :item, :dependent => :destroy
end
理想的には、これらのメソッドの名前をvalidate_item_countとvalidate_image_countに指定します。これは、意図が明確で、メソッドがエラーを追加するためです。 – joelparkerhenderson
良い点、追加していただきありがとうございます。 – digicazter