Как вы используете опцию: зависимый с отношением «многие ко многим»? - PullRequest
1 голос
/ 25 марта 2009

У меня есть отношения многие-ко-многим, подобные этому:

class Event < ActiveRecord::Base
  has_many :calendar_events
  has_many :calendars, :through => :calendar_events
  # ...
end

Я хочу сделать так, чтобы при вызове some_event.destroy Ruby on Rails удалял записи ассоциации из таблицы calendar_events. Основываясь на документации API, я предполагаю, что вы делаете это ...

class Event < ActiveRecord::Base
  has_many :calendar_events, :dependent => :delete_all
  has_many :calendars, :through => :calendar_events
  # ...
end

Это правильный способ сделать это?

Ответы [ 2 ]

1 голос
/ 25 марта 2009

Вы также можете сделать: уничтожить вместо: delete_all. Хотя удалить все быстрее для больших наборов связанных объектов.

Смотрите документацию по Rails на has_many http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#M001789

1 голос
/ 25 марта 2009

Да. Это удалит только все события календаря.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...