我的验证需要仅适用于用户所在的某个项目。我提出的解决方案是从控制器调用此模型方法:
控制器:
Client.validate_uniq_record(params[:project_id])
模型:
def self.validate_uniq_record(proj_id)
validates_uniqueness_of :item, scope: :price, conditions: -> {where(project_id: proj_id)}
end
从阅读其他问题看,将param传递给模型似乎是一个很大的问题: How to access params in the callback of a Rails model?我无法通过虚拟属性弄清楚如何做到这一点。
我如何validates_uniqueness_of
仅针对用户所在的当前项目?
注意,Client
对象的project_id
列为FK