У меня есть государства, у которых есть много городов (принадлежит_состоянию), у которых есть много предприятий (принадлежит_to: city). Государство также ... has_many: предприятия,: через =>: городаУдаление: has_many, когда: belongs_to обновляется/уничтожается, если: has_many теперь пуст
На моем сайте все управляется с точки зрения бизнеса. Когда новый бизнес создается/обновляется, состояние/город создается, если он еще не существует. Это происходит при вызове: before_save.
У меня возникли проблемы с удалением States/Cites, когда бизнес обновляется. Если государство/город, в котором находится бизнес, меняется (опять же это происходит из бизнес-формы редактирования), а у старого штата/города больше нет предприятий, которые я хочу его уничтожить. Я попытался сделать это в after_save-вызовах, но они завернуты в транзакцию, и даже если я назначу переменные именам старого состояния/города, они, похоже, когда-нибудь будут изменены на новое состояние/город во время транзакции. Это безумие! Я использовал «puts» звонки, чтобы напечатать vars в некоторых местах моей бизнес-модели и наблюдал, как vars меняются во время сохранения. Это было неприятно.
Итак, прямо сейчас я обрабатываю это с контроллера, но он чувствует себя хакерским.
Вот некоторые из моих кодов.
Кроме того, я хотел бы любой входной сигнал о том, как лучше структурировать всю эту вещь.
Благодаря
Это нормально для уничтожения предприятий, но не касается обновлений, которые являются реальной проблемой. – kjs3
Извините, я пропустил немного об обновлениях. Я отредактировал свой ответ, чтобы поймать это. – EmFi