Rails 3:
Когда вы используете JQuery, убедитесь, что у вас есть правильный файл rails.js (https://github.com/rails/jquery-ujs). Когда вы используете Prototype, правильный файл rails.js ужеКроме того, убедитесь, что в заголовок макета добавлено следующее:
<%= csrf_meta_tag %>
А также убедитесь, что загружается как среда JS, так и файл rails.js.
<%= javascript_include_tag "jquery", "rails" %>
# or
<%= javascript_include_tag "prototype", "rails" %>
Просто примечание - Вы также можете указать ссылку Googleapis: http://scriptsrc.net/.
Когда вы используете :method => :delete
внутри ссылки, будет создан следующий HTML-код:
<a href="/comments/1" data-method="delete">Click me!</a>
Как видите, используется атрибут данных HTML5. Файл rails.js автоматически помещает события щелчка по ссылкам с этими атрибутами. Когда установлено data-method="delete"
, запрос будет выполнен с помощьюУДАЛИТЕ HTTP-метод. Поэтому нажатие на него приведет к уничтожению комментария. Кроме того, установка: подтверждение создаст атрибут подтверждения данных, который будет делать то, что вы ожидаете.
Rails 2:
Когда вы используете Prototype, :method => :delete
будет работать автоматическисоюзник.Просто убедитесь, что вы включили правильные файлы Javascript:
<%= javascript_include_tag :defaults %>
При использовании JQuery вы должны установить плагин 'jrails' (https://github.com/aaronchi/jrails). Он позволяет вам использовать те же помощники Prototype для JQuery. Плагин используетстарая версия JQuery, поэтому убедитесь, что вы обновили ее.
Я точно не знаю, использует ли атрибут: method Prototype в Rails 2 или просто обычный Javascript.даже нужен Prototype или JQuery для атрибута: method в Rails 2.
Как я уже говорил в комментарии: я никогда не использую button_to для удаления ссылок. Вы можете так же легко заставить его работать с link_to.Я знаю, что большинство людей используют этот помощник при создании ссылок такого рода. Надеюсь, это поможет. :) 1037 *