ruby on rails has_one与unique关联

der*_*use 8 model ruby-on-rails has-one belongs-to

嘿,我有一个模特foo,有一个吧.并且bar belongs_to foo.我想知道是否有办法增加has_one,使得没有两个条可以属于同一个foo.我查看了has_one的文档,似乎没有:uniq参数,我可以指定.那么我是否必须创建自定义验证才能实现此目的?或者有更简单的方法吗?

谢谢.

Bli*_*zzo 17

您不需要自定义验证,只需为任何给定的foo强制执行bar的唯一性

class Bar < ActiveRecord::Base
  belongs_to :foo
  validates_uniqueness_of :foo_id
end
Run Code Online (Sandbox Code Playgroud)


bor*_*r1s 0

我认为你应该编写自己的验证,因为 Foo 的两个不同记录不知道其他相关记录(Bar)