2010-06-30 12 views
15

Ich habe eine Klasse mit 2 Methoden. Die erste Methode wird von der View mit einigen GET-Parametern (params [: page]) aufgerufen. Ich möchte diese Parameter speichern und sie durch eine Renderaktion an meine zweite Methode senden.render: Aktion mit Parametern

class exemple 
    def first 
    ## sql save of params[:page] 
    render :action => "second" 
    end 

    def second 
    ## 
    ## Here I need my params[:page] to do paginate stuff 
    ## 
    respond_to do |format| 
     format.html 
    end 
    end 
end 

Also meine Frage ist: Aktion: Wie kann ich params mit einem Render schicken?

Dank :)

Antwort

20
render :action => "second" 

Wenn Sie machen, dann in :action geschrieben Ihre Methode wird nicht aufgerufen wird, nur mit dem Aktionsnamen der Ansicht genannt.

In Ihrem Beispiel, wenn Sie rendern, wird Ihre Methode second nicht aufgerufen, aber Sie rendern stattdessen die second.html.erb Ansicht.

Weitere Einzelheiten finden Sie unter this.

diese Methode aufrufen Sie haben redirect_to zu verwenden, die in etwa wie folgt aussieht:

redirect_to :action => "second", :page=> 4 
+4

Dank für Ihre Antwort! :) Ich versuchte mit redirect_to und es funktioniert, aber ich möchte alle GET-Parameter der ersten Methode an die zweite senden. Kennen Sie eine Lösung oder muss ich alle Parameter eins nach dem anderen senden? – Swann