ActiveRecord: зависимая путаница - PullRequest
0 голосов
/ 24 июня 2011

У меня определены следующие модели AR:

class Venue < ActiveRecord::Base
  has_many :events
end

class Act < ActiveRecord::Base
  has_many :events
end

class Event < ActiveRecord::Base
  belongs_to :venue
  belongs_to :act
end

То, что я хочу, - это если я удаляю Место или Акт, любые связанные События также удаляются. Но если я удаляю Событие, связанные Место и Акт НЕ удаляются. Я пробовал различные варианты :dependent, но, похоже, ничего не работает.

Это кажется таким простым. Чего мне не хватает?

Ответы [ 2 ]

1 голос
/ 25 июня 2011

Я разобрался в проблеме. Мне пришлось вызвать destroy вместо delete на родительском объекте. Документы не очень ясно дают понять.

1 голос
/ 24 июня 2011

Это работает для меня. Удаление объекта / акта удаляет все события, которые оно имело, в то время как удаление события не влияет на объект / акт, к которому оно принадлежало.

class Venue < ActiveRecord::Base
  has_many :events, :dependent => :destroy
end

class Act < ActiveRecord::Base
  has_many :events, :dependent => :destroy
end

class Event < ActiveRecord::Base
  belongs_to :venue
  belongs_to :act
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...