Ruby on Rails:将一对一对应的两个模型捆绑在一起的最佳方式

时间:2010-03-10 00:11:32

标签: ruby-on-rails activerecord associations models one-to-one

如果我有两个模型保证一对一的对应关系,即如果一个被创建,我将永远也需要另一个,如果删除了一个,我也想要摆脱另外,将它们联系在一起的最佳方式是什么?

我看到has_one / belongs_to:dependent方法负责删除,但我没有看到任何类似的方法来处理创建。

在创建子模型的过程中似乎有很多选择,对此最好的方法是什么?

1 个答案:

答案 0 :(得分:3)

您可以使用before_create回调手动创建相关对象:

class Person < ActiveRecord::Base
  before_create :create_address
  validates_presence_of :address

  private
  def create_address
    address = Address.new
  end
end