У меня есть Parent
модель с Children
.Если все Children
определенного Parent
будут удалены, я бы также хотел автоматически удалить Parent
.
В сценарии, отличном от AJAX, в ChildrenController
я бы сделал:
@parent = @child.parent
@child.destroy
if @parent.children.empty?
redirect_to :action => :destroy,
:controller => :parents,
:id => @parent.id
end
Но это невозможно, если запрос XHR.Перенаправление вызывает запрос GET.
Единственный способ сделать это с AJAX - добавить логику в ответ RJS, заставив его создать элемент link_to_remote
, «щелкнуть» по нему, а затемубери это.Кажется некрасивым.Есть ли лучший способ?
Разъяснение
Когда я использую термин перенаправление, я не имею в виду перенаправление HTTP.Я имею в виду, что вместо возврата RJS, связанной с уничтожением Child
, я хочу выполнить destroy
на Parent
и вернуть RJS, связанный с уничтожением Parent.