link_to delete url не работает - PullRequest
       14

link_to delete url не работает

20 голосов
/ 12 декабря 2010

У меня есть следующая ссылка_для удаления URL в моем приложении

<%=link_to "Delete",blog_path(@blog.id), :method => :delete, :class => "delete", :confirm => "Are you sure ?"%>  

Кажется, он не работает. Когда я нажимаю этот URL, он просто выводит меня на путь показа. Может кто-нибудь сказать, пожалуйста,как это исправить.Спасибо.

Ответы [ 7 ]

20 голосов
/ 20 декабря 2010

Вы используете jQuery? Если это так, я думаю, что проблема может быть в том, что вы используете jQuery без обновленного файла rails.js.

Загрузите rails.js здесь: https://github.com/rails/jquery-ujs/raw/master/src/rails.js Перетащите его в свой каталог javascripts, переписав rails.js, который поставляется по умолчанию с rails.

Добавьте строку включения javascript, чтобы включить ее.

  <%= javascript_include_tag "rails" %>

Поставьте это после вашего тега Jquery include. Возможно, вы также захотите отключить настройки javascript по умолчанию, если не планируете использовать прототип.

Я включил пользовательский интерфейс jQuery в свое приложение и обнаружил, что удаление теперь работает как show, но после выполнения вышеуказанной проблемы.

17 голосов
/ 03 августа 2012

Убедитесь, что эти строки отображаются в application.js:

 //= require jquery
 //= require jquery_ujs
5 голосов
/ 12 декабря 2010

Убедитесь, что у вас включен Java-скрипт. В противном случае :method => :delete действует так же, как в Rails.

4 голосов
/ 05 сентября 2011

Вы можете попробовать использовать «метод данных» вместо: метод.

<%=link_to "Delete",blog_path(@blog.id), 'data-method' => :delete, :class => "delete", :confirm => "Are you sure ?"%> 

Вы можете проверить на jquery_ujs.js следующий фрагмент кода:

// Handles "data-method" on links such as:
// <a href="/users/5" data-method="delete" rel="nofollow" data-confirm="Are you sure?">Delete</a>
4 голосов
/ 12 декабря 2010

Если вы используете restful-маршрутизацию для блогов, то должно работать следующее:

<%= link_to "Delete", @blog, :method => :delete, :confirm => "Are you sure ?"%>
2 голосов
/ 08 февраля 2016

Чтобы link_to работал с методом delete, Rails требуется ненавязчивый адаптер сценариев для jQuery .

  • Убедитесь, что ваш Gemfile имеет

    gem 'jquery-rails'

  • Убедитесь, что app / assets / javascripts / application.js имеет

    //= require jquery
    //= require jquery_ujs

  • Убедитесь, что ваше приложение / views / layouts / application.html.erb имеет

    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
    <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>

    внутри тега head.Удалите раздел 'data-turbolinks-track' => true, если вы не планируете использовать Turbolinks.

0 голосов
/ 24 ноября 2012

вы должны использовать

<%=button_to "Delete",blog_path(@blog.id), :method => :delete, :class => "delete", :confirm => "Are you sure ?"%>  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...