Если ни один из других ответов здесь не работает для вас, возможно, это поможет.
Так что объявления csrf_meta_tag мне было недостаточно, хотя в любом случае его следует добавить в файл макета для Rails 3. У меня получился конфликт с jQuery. Я просто положил это:
<script type="text/javascript">
jQuery.noConflict();
</script>
после тега rails scripts в моем макете и устранения конфликта между Prototype и jQuery. Привет, я получил диалоговое окно подтверждения удаления.
Этот метод также решил мою первоначальную проблему при использовании link_to, чтобы попытаться удалить запись. При использовании link_to любая команда уничтожения перенаправлялась на страницу показа для записи. Поэтому я перешел к button_to, основываясь на каком-то другом решении, которое я видел, но без подтверждения. Интересно, есть ли еще какие-то проблемы с jQuery и Prototype?
Все это произошло в обновленном приложении Rails 2.3.5, которое, казалось, работало нормально, без необходимости включать Prototype или: defaults в мой файл макета.
На примечании стороны я следовал этим инструкциям:
http://webtech.union.rpi.edu/blog/2010/02/21/jquery-and-rails-3/
попытаться потерять Prototype все вместе для этого проекта и использовать вместо этого подмодуль jQuery git для Rails 3. Следование этим инструкциям не сработало, и я по-прежнему не имел диалогов подтверждения с button_to и страницей показа при использовании link_to. Просто подумал, что упомяну это, чтобы избавить кого-то от попыток попробовать это.