Ruby on rails Rails-如何防止删除父记录的所有子记录 清单true 验证:验证\u图像\u计数 def验证图像计数 错误。如果images.length
在我的列表#编辑表单中,我使用字段_为所有图像提供字段,并使用复选框删除图像。这很好用。我想强制执行一个检查,这样列表只有在至少有一个图像且最多有6个图像时才有效 在我当前的设置中,我可以编辑和删除所有图像,然后更新列表Ruby on rails Rails-如何防止删除父记录的所有子记录 清单true 验证:验证\u图像\u计数 def验证图像计数 错误。如果images.length,ruby-on-rails,validation,nested-forms,nested-attributes,fields-for,Ruby On Rails,Validation,Nested Forms,Nested Attributes,Fields For,在我的列表#编辑表单中,我使用字段_为所有图像提供字段,并使用复选框删除图像。这很好用。我想强制执行一个检查,这样列表只有在至少有一个图像且最多有6个图像时才有效 在我当前的设置中,我可以编辑和删除所有图像,然后更新列表 我已经尝试使用如上所示的验证,但没有调用它。这可能就是rails中嵌套的_属性的工作方式。执行此检查的最佳方法是什么?因为调用验证方法时图像不会被删除,因此图像长度将返回true。您可以使用标记的_进行_销毁吗 Listing < AR has_many :image
我已经尝试使用如上所示的验证,但没有调用它。这可能就是rails中嵌套的_属性的工作方式。执行此检查的最佳方法是什么?因为调用验证方法时图像不会被删除,因此图像长度将返回true。您可以使用标记的_进行_销毁吗
Listing < AR
has_many :images
accepts_nested_attributes_for :images, :allow_destroy => true
validate :validate_image_count
def validate_image_count
errors.add_to_base("too few") if images.length < 1
end
end
Image < AR
belongs_to :listing
end
你能把保存记录的那部分代码加上去吗?
def validate_image_count
errors.add_to_base("too few") self.images.any? { |i| i.marked_for_destruction? }
end