[英]How do you validate photos in a form in rails
我有一个有轨道的产品型号has_many:照片。 我想添加一些验证,确保您无法在不添加照片的情况下创建产品。 我尝试在照片模型上添加validates_attachment_presence:image,但产品型号仍然没有照片保存。 如何验证图像? 此外,我希望用户添加至少5张照片
//product model
class Product < ActiveRecord::Base
has_many :photos
end
//photo model
class Photo < ActiveRecord::Base
belongs_to :product
validates_attachment_presence :image
end
由于您没有发布表模式,我试图猜测它。
然后,要验证照片的presence/format
,您可以使用验证帮助程序并检查最小数量的照片,您可以通过以下方式创建自定义验证器:
class Product < ActiveRecord::Base
has_many :photos
before_save :images_limit_min
private
def images_limit_min
return if self.photos.empty?
errors[:base] << "You must to upload at least 5 images" if self.photos.length < 5
end
end
class Photo < ActiveRecord::Base
belongs_to :product
validates :product_id, presence: true, format: { with: %r{ \.(png|jpg|jpeg)$ }i, message: "custom message" }
end
注意:结构可能不完全正确,但我希望你有办法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.