Este post fue probado por nuestros especialistas para que tengas la garantía de la veracidad de este enunciado.
Solución:
También verifique que esto esté en su application.js:
//= require jquery
//= require jquery_ujs
Aparentemente tenía jquery sin jquery_ujs y tenía el mismo problema hasta que lo agregué.
La mayoría de los navegadores en realidad no admiten el verbo DELETE, por lo que Rails lo falsifica modificando el HTML que genera. Rails tachuelas en un HTML5 attribute llamó data-method
y lo establece en "delete"
. Entonces, cuando un usuario hace clic en el enlace, en realidad se emite como un GET
solicitud, pero el data-method
attribute permite algo de magia de Rails y significa que su código de enrutamiento debería reconocerlo como una solicitud de ELIMINACIÓN.
editar:
Puedes probarlo tú mismo en la consola. Correr bundle exec rails c
para entrar en la consola, y mira el HTML que esto genera:
helper.link_to "delete", "foobar/delete", :method => 'delete'
El HTML debería verse así:
delete
Debes usar el siguiente código
<%= button_to "delete", @user_current, :method => "delete" %>
Resolverá el problema o agregará esta línea //= requiere jquery_ujs a application.js y usa:
<%= link_to 'delete', user, :method => :delete, data: :confirm => "You sure?" ,
:title => "Delete #user.name" %>
Puntuaciones y comentarios
Más adelante puedes encontrar las reseñas de otros creadores, tú todavía tienes la libertad de dejar el tuyo si dominas el tema.