class Photo < ActiveRecord::Base
belongs_to :member
before_validation :able_to_upload
private
def able_to_upload
self.errors[:member] << 'can not upload photo.' if self.member.credits < 50
end
end
我有一个带有credits
属性的成员模型。拥有 50 积分或更高积分的会员应该可以上传照片。credits
会员上传照片时如何验证属性?我想出了这个解决方案,但我想知道是否有更好的方法来做到这一点。在验证回调上添加错误的正确方法是什么?或者我应该创建一个虚拟属性并credits
使用 proc 进行验证?
编辑:虽然这个解决方案有效,但我创建了一个“收费”模块,用于更通用的解决方案,感觉恰到好处。