Puede ser que tal problema no sea nuevo, pero no encontré nada similar. Tengo dicho código jQuery:
$.ajax({
url : ('/people/'+id),
type : 'DELETE',
dataType : 'json',
success : function(e) {
table.getItems(currentPage);
}
});
controlador Mis rieles se ve así:
def destroy
@person = Person.find(params[:id])
@person.destroy
respond_to do |format|
format.html { redirect_to(people_url) }
format.json { render :json => @person, :status => :ok }
end
end
Esto está funcionando.
Pero cuando se utiliza la siguiente (generado por la norma), la devolución de llamada success
no recibe llamados:
def destroy
@person = Person.find(params[:id])
@person.destroy
respond_to do |format|
format.html { redirect_to(people_url) }
format.json { head :ok }
end
end
probado bajo rails 3.0.3
, jQuery 1.4.2
y Firefox 3.6.13
.
Firebug dice, esa consulta se activa y devuelve 200 OK en ambos casos, el elemento se elimina en ambos casos también. Pero en el segundo caso, no se llama a la devolución de llamada.
¿Hay una diferencia significativa en REST, y hay una manera de utilizar jQuery utilizando el controlador scaffolded?
¿Ambas solicitudes son válidas para JSON? ¿Puedes oler con Charles o golpearlos manualmente con curl y ver qué viene? –
falta una cotización en su url, por las dudas. – jAndy
falta qoute apareció cuando preparé el código para una pregunta :) – sandrew