2009-03-01 8 views
3

Ich verstehe nicht, wie Instanzvariable mit partiellen Ansichten verwenden, ich hoffe, dass jemand hier mich erleuchten kann. Zum Beispiel:Ruby on Rails - Bereich der Instanzvariablen mit partiellen Ansichten

class MainController < ApplicationController 

    def index 
    @item_list = Item.find_all_item 
    end 

    def detail_display 
    @current_selected = @item= Item.find(params[:id]) 
     redirect_to :action => :index 
    end 
end 

detail_display aufgerufen wird, wenn der Benutzer auf ein Element in der Liste klickt. Die Variable @current_selected ist für die Teilansicht nicht verfügbar, die beim Umleiten des Index aufgerufen wird. Wie kann ich das beheben?

Danke

Antwort

8

Wenn Sie eine Umleitung zu tun, der Browser eine völlig neue Anforderung sendet, so werden alle Daten aus der vorherigen Anfrage nicht zugänglich ist. Sie möchten hier wahrscheinlich keine Weiterleitung machen; Kein Umfang wird Ihnen helfen, wenn Sie sich separate Runs durch Ihren Controller ansehen.

Denken Sie ein wenig über Ihr Design nach - was versuchen Sie zu tun? Wenn die Auswahl etwas klebrig ist, sollte es vielleicht in der Sitzung gehen. Wenn die Änderung nur teilweise ist, sollten Sie vielleicht einen Ajax-Aufruf verwenden. Vielleicht ist die Lösung so einfach wie das Rendern der index Vorlage, anstatt auf die index Aktion umzuleiten.