我有一个Company
和Archive
具有相同的表结构模型。 这两种型号都具有validates :name, :uniqueness => true
验证。
在company.rb文件我无法建立一个自定义的验证那里,当我添加一条记录到Company
数据库,它还会检查Archive
模式(这样,如果与该名称的归档模式的记录已经然后它赢得存在“T被加入到Company
表)。
我假设这是可以做到的,但我在实施,任何人都可以帮助麻烦?
我有一个Company
和Archive
具有相同的表结构模型。 这两种型号都具有validates :name, :uniqueness => true
验证。
在company.rb文件我无法建立一个自定义的验证那里,当我添加一条记录到Company
数据库,它还会检查Archive
模式(这样,如果与该名称的归档模式的记录已经然后它赢得存在“T被加入到Company
表)。
我假设这是可以做到的,但我在实施,任何人都可以帮助麻烦?
company.rb
validates :name, uniqueness: true
validate :unique_name
def unique_name
self.errors.add(:name, 'is already taken') if Archive.where(name: self.name).exists?
end
重要的是要记住,虽然这样的代码级别唯一约束可以在比赛条件下的并行请求中不起作用,除非在某种程度上这可以在数据库级别做的是非常重要的。