406 Error no aceptable en jQuery: remoto => enlace verdadero
-
29-10-2019 - |
Pregunta
Estoy enviando una solicitud de eliminación a través de un enlace de etiqueta de anclaje, y usando: remoto => verdadero para enviarlo a través de JS para usar jQuery. He hecho esto en otros dos casos que son idénticos a esto, sin ningún problema. Pero por alguna razón, este está causando problemas: cada vez que presento obtengo un error 406 no aceptable.
el enlace de destrucción
content_tag( :p, link_to("+#{vote.weight}", unvote_path(vote), :method => :delete, :remote => true ), :class => "chosen" )
rutas.rb
delete "/unvote" => "votes#destroy", :as => :unvote
votes_controller.rb
def destroy
@vote = Vote.find(params[:format])
if !current_user.owns(@vote)
flash[:alert] = "You cannot remove votes that aren't yours!"
end
@idea = @vote.idea
@vote.destroy
respond_with @vote do |format|
format.js
format.html { redirect_to category_idea_path(@idea.category, @idea) }
end
end
destruir.js.erb
$('#vote_buttons').append('<%= escape_javascript get_vote_buttons(@idea.category, current_user, @idea) %>');
Esa es exactamente la misma línea que tengo en new.js.erb, y eso funciona bien (aparte del hecho de que no devuelve exactamente lo que quiero, pero al menos se ejecuta y agrega correctamente).
Application.js
jQuery.ajaxSetup({
'beforeSend': function(xhr) {
xhr.setRequestHeader("Accept", "text/javascript");
},
cache: false
});
Y tengo eso en Application.js que debería estar configurando los encabezados correctamente, si entiendo bien.
Además, tenga en cuenta que el enlace realiza su funcionalidad de eliminación correctamente: cuando actualizo la página manualmente, el voto se ha eliminado. El único problema parece ser con el contenido que se devuelve por destruir.js.erb
¿Alguna idea de por qué esto está actuando de manera diferente a mis otros ejemplos de trabajo? He estado golpeando mi cabeza contra esto todo el día y no puedo resolverlo.
No hay solución correcta