Ruby on Rails: лучший способ связать две модели, которые соответствуют друг другу - PullRequest
1 голос
/ 10 марта 2010

Если у меня есть две модели, которые гарантированно имеют однозначное соответствие, т. Е. Если одна создается, мне всегда будет также нужна другая, и если одна будет удалена, я также захочу избавиться от другой, как лучше связать их вместе?

Я вижу, что has_one / own_to: зависимый метод заботится об удалении, но я не вижу подобного метода, который бы заботился о создании.

Кажется, есть много вариантов, где я мог бы заняться созданием подмодели, какой лучший подход для этого?

1 Ответ

3 голосов
/ 10 марта 2010

Вы можете создать связанный объект вручную, используя before_create callback:

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

  private
  def create_address
    address = Address.new
  end
end
...