Just in case, if someone sees this, it should work on Rails 3. I think add_to_base (using Tony and Jeremy) has been removed, so it should be like this:
class Foo < ActiveRecord::Base has_many :bars accepts_nested_attributes_for :bar def validate if self.bars.reject(&:marked_for_destruction?).length < 2 self.errors.add(:base, "Must have at least 2 bars") end end end
source share