Sto provando a ASCIUGARE un controller incorporando respond_with
. Quando lo faccio, seguendo alcune istruzioni in un Railscast, ottengo le cose per lo più funzionanti. Il problema si trova nel reindirizzamento dopo lo che elimina una risorsa ... che dovrebbe essere reindirizzata a people_url
... ma tenta invece di caricare la risorsa specifica.Rails 3: modo corretto per eliminare la risorsa utilizzando respond_with
Il codice di esempio ho trovato aspetto come questo ... ma non riesce il tentativo di caricare la risorsa appena cancellato:
# app/controllers/people_controller.rb
class PeopleController < ApplicationController
respond_to :html, :xml
def destroy
@person = Person.find(params[:id])
flash[:notice] = 'Successfully deleted person.' if @person.destroy
respond_with(@person) # <== spec fails here
end
end
cambiamento che l'ultima linea per respond_with(@people)
non funziona neanche (anche se avevo sperato sarebbe ...)
Dopo molte scavare intorno e cercando il mio meglio per capire cose che ho fatto far funzionare le cose (almeno sembrerebbe così specifiche passando app funzionale) con questo:..
respond_with(@person, :location => people_url) # <== now it works
Quindi, questo è il modo corretto per gestire questo? Sembra che con tutta la "magia" dietro respond_with saprebbe che non può reindirizzare a se stesso dopo un'eliminazione? Ho anche pensato che questo (uno dei 7 metodi RESTful CRUD di base) sarebbe piuttosto semplice e rudimentale, quindi abbondanza di esempi sarebbero abbondanti ... ma non sono stato in grado di trovarne molti eccetto quelli che suggeriscono il codice che non ha funzionato me.
Sperando che qualcuno possa aiutarmi a capire la "magia" delle rotaie che si sta verificando qui, quindi non sarò sorpreso quando questo mi esploderà lungo la strada.
Grazie ma, purtroppo, sono ancora confuso. stai suggerendo 'reply_with (head: ok)'? perché quello non funziona Ho solo familiarità con 'format.xml {head: ok}' quando si trova all'interno di un blocco 'reply_to'. quindi non sei sicuro di come farlo usando 'respond_with' in questo caso?!? – Meltemi
@Meltemi - Scopri ASCIICast da Ryan Bates: http://asciicasts.com/episodes/224-controllers-in-rails-3 – dennismonsewicz