我有这些模型:
subdomain
company
tool
code
代码 belongs_to 工具、公司工具和子域公司。
我想验证子域中代码的唯一性。我怎样才能做到这一点?我知道如何使用范围在工具范围内获得唯一性,如下所示:
validates :codevalue, :uniqueness => {:scope => :tools_id}
但是如何为以上两个父母的范围做到这一点?
我正在使用最新的 Rails 版本。
我有这些模型:
subdomain
company
tool
code
代码 belongs_to 工具、公司工具和子域公司。
我想验证子域中代码的唯一性。我怎样才能做到这一点?我知道如何使用范围在工具范围内获得唯一性,如下所示:
validates :codevalue, :uniqueness => {:scope => :tools_id}
但是如何为以上两个父母的范围做到这一点?
我正在使用最新的 Rails 版本。
我用这样的自定义验证解决了这个问题:
def validate_uniqueness_in_subdomain
Barcode.where(:value => self.value).each do |code|
next if code.eql?(self)
if (self.tool.company.subdomain.id == code.tool.company.subdomain.id)
errors.add(:unique_error, "This barcode is already in use")
break
end
end
end