2010-06-30 13 views
15

Mam jedną klasę z 2 metodami. Pierwsza metoda jest wywoływana przez widok z niektórymi parametrami GET (parametry [: strona]). Chciałbym zapisać te parametry i wysłać je przez akcję renderowania do mojej drugiej metody.: akcja z parametrami

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 

Więc moje pytanie brzmi: Jak mogę wysłać params z render: działanie?

dzięki :)

Odpowiedz

20
render :action => "second" 

Podczas renderowania, wówczas metoda napisany w :action nie nazywa, tylko widok z tą nazwą działania jest tzw.

W twoim przykładzie, kiedy renderujesz, twoja metoda second nie jest wywoływana, ale zamiast tego renderujesz widok second.html.erb. Więcej informacji pod numerem this.

Aby wywołać tę metodę trzeba użyć redirect_to, który wygląda mniej więcej tak:

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

dzięki za odpowiedź! :) Próbowałem z redirect_to i działa, ale chciałbym wysłać WSZYSTKIE parametry GET pierwszej metody do drugiego. Czy znasz rozwiązanie lub muszę wysyłać wszystkie parametry jeden po drugim? – Swann