Возможно, я вас неправильно понимаю, не могли бы вы опубликовать код вашего контроллера?
Это происходит через ajax? Если нет, можете ли вы перенаправить на Show
вместо повторного рендеринга? Это, вероятно, предпочтительный опыт для пользователя в любом случае.
UPDATE
Хорошо, если это происходит через ajax, тогда проблема проста. Ваше действие destroy
ожидает только обычного события браузера и выполняет вызов redirect_to
. Ajax-вызов не знает, как с этим справиться, и просто сидит там. Вероятно, вы можете увидеть код перенаправления в чем-то вроде Firebug.
Я не очень знаком с jquery-rails (я предпочитаю писать все свои js самостоятельно, потому что я анальный). Вы можете сделать так, чтобы действие destroy
возвращало формат js следующим образом:
def destroy
@search_term = SearchTerm.find(params[:id])
@search_term.destroy
@place = Place.find(params[:place_id])
respond_to do |format|
format.html { redirect_to place_path(@place) }
format.js { render :nothing => true }
end
end
Это даст вызывающему ajax сигнал о том, что он сделал свое дело. Ваш javascript все равно должен будет разумно обрабатывать этот ответ, как, например, удалить элемент из DOM.