我有两个模型Person
和Address
:
class Person < ApplicationRecord
has_one :address
end
class Address < ApplicationRecord
belongs_to :person
end
我如何验证彼此指向对方?
我想做类似的事情:
class Person < ApplicationRecord
has_one :address
validates :address, presence: true
end
这当然是行不通的,因为address
不是Person
上的属性。
Rails中确保记录与另一条记录有效关联的正确方法是什么?
答案 0 :(得分:1)
class Person < ApplicationRecord
has_one :address, required: true
end
class Address < ApplicationRecord
belongs_to :person
end
请参见https://apidock.com/rails/v5.2.3/ActiveRecord/Associations/ClassMethods/has_one的选项部分中的required
belongs_to
,因此您无需在Address.
答案 1 :(得分:0)
您需要使用validates_associated :address
来验证关联