Schienen umleiten nach zerstören

Habe ich

def destroy 
    Event.find(params[:id]).destroy
    flash[:info] = "Event deleted" 
    redirect_to :back
end

Und ich bin in der Lage, löschen Sie ein Element aus 2 verschiedenen Ansichten. Auf einen Blick es ist eine Liste von Elementen, so kann ich mit :back und Neuladen der gleichen Seite. Aber die anderen löschen, wird die Ansicht des Elements zu löschen, so dass, sobald es Weg ist ich will redirect_to irgendwo anders.

Meine Frage ist, wie kann ich sagen, Schienen eine andere redirect_to Pfad, je nachdem, wo die destroy Methode kommt aus?

Nur als test, ich habe versucht, mit einer if-Anweisung basiert auf einem Körper-Klasse in der html -, sondern die Instanz-variable nicht durchgeführt in der destroy-Methode (ich nehme an), da hat es nicht funktioniert. z.B.

def destroy
    if @body_class == 'one page'
        Event.find(params[:id]).destroy
    flash[:info] = "Event deleted" 
        redirect_to :back
    elsif @body_class == 'a different page'
        Event.find(params[:id]).destroy
        flash[:info] = "Event deleted" 
        redirect_to root_path
    end
end
InformationsquelleAutor matski | 2013-07-08
Schreibe einen Kommentar