除非设置了关联,否则如何禁止保存对象?

时间:2016-04-22 16:14:04

标签: ruby-on-rails ruby-on-rails-4 activerecord

我想确保我的Staff对象在没有创建Profile的情况下无法保存。

我可以设置任何验证来实现此目的吗?

Staff.rb:

class Staff < ActiveRecord::Base
  has_one :profile
end

Profile.rb:

class Profile < ActiveRecord::Base
   belongs_to :staff
end

1 个答案:

答案 0 :(得分:4)

使用validations(适用于此关联):

class Staff < ActiveRecord::Base
  has_one :profile

  validates :profile, presence: true
end

或者只是:

validates_presence_of :profile