在验证中使用参数

时间:2017-04-05 21:26:20

标签: ruby-on-rails

我的验证需要仅适用于用户所在的某个项目。我提出的解决方案是从控制器调用此模型方法:

控制器:

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

0 个答案:

没有答案