2012-09-11 11 views
8

Czy jest możliwe renderowanie części za pomocą metody pomocnika, w której można również przekazywać zmienne lokalne z widoku, w którym wywoływana jest metoda pomocnika? Na przykład, kiedy to kod bezpośrednio w widzenia, powoduje częściowe odpowiednio:Renderowanie części z metody pomocniczej

<%= render :partial => "add_round", :locals => { :f => f } %> 

Następnie przeniesiono ją do sposobu pomocniczych:

def addRound 
    render :partial => "add_round", :locals => { :f => f } 
end 

Następnie zwanego to z punktu widzenia ponownie z:

<%= addRound %> 

To nie działało z: locals => {: f => f} zawartym w kodzie. Zwrócił ten błąd: niezdefiniowana zmienna lokalna lub metoda `f '. Jednak metoda addRound nie czyni coś z następujących czynności:

def addRound 
    render :partial => "add_round" 
end 

Pisanie to w ten sposób pozwoliło mi renderowanie partials, które nie wymagały zmienne lokalne mają być przekazywane za pośrednictwem (takie jak ciągi tekstowe). Ale w jaki sposób mogę go uruchomić z: locals => {: f => f} w komplecie? Czy istnieje inny sposób, aby to napisać?

Dziękuję bardzo.

+0

Przełęcz 'f' jako parametr w Pomocników metoda –

Odpowiedz

13

Trzeba zdać f do addRound

def addRound(f) 
    render partial: "add_round", locals: { f: f } 
end 

iw widoku

<%= addRound(f) %> 
+0

Dzięki Deefour. To działało idealnie (miejmy nadzieję, był to po prostu nowatorski błąd z mojej strony). Mam podobne pytanie: http://stackoverflow.com/questions/12358993/add-section-to-form-by-rendering-a-partial-when-link-is-clicked. W szczególności nie mogę uzyskać wywołania javascript na łączu, aby wykonać to, co powinien (wywołanie metody addRound po kliknięciu). Jakieś pomysły na ten temat? Dzięki jeszcze raz. – Josh

+0

Cieszę się, że mogę pomóc; wygląda na to, że ktoś inny pomaga ci w drugim pytaniu. Powodzenia. – deefour

Powiązane problemy