Rendern teilweise aus helper_method
Ok, so habe ich eine helper-Methode in der Anwendung-controller:
def run_test(test_name)
#computation stuff
render :partial => test_name
end
Und ich rufe es wie so in Aussicht:
<%= run_test("testpartial") %>
und es macht ok, mit nur 1 (obwohl... die render teilweise scheint es wieder ein array statt nur den teilweisen Inhalt?), aber, wenn ich die run_test Helfer-Aufruf in der Ansicht zweimal bekomme ich eine doppelte render-Fehler, das sollte nicht sein, passiert mit partials.
Irgendwelche Ideen?
- Welche Versionen von ruby und rails sind Sie mit, ich verstehe dieses Verhalten beim ausführen von 3.1?
- 3.1. Ich war mit ein RC Kandidat, aber ich habe ein Upgrade nur um sicher zu sein und es immer noch nicht funktioniert.
- Hmmm... So stellt sich heraus, ich war die Definition dieser Helfer-Methode in der application_controller mit helper_method :run_test jedoch bewegt es zu application_helper Datei in die Helfer-Ordner funktioniert. So.. ich habe insgesamt in meinen Verständnis zwischen den Unterschied von einem Helfer, der in der Anwendung definierte controller und ein Helfer definiert in eine helper-Datei. Wer es schafft, mich füllen?
- Eine Methode, die in der application-controller ist nur für Controller. Eine Methode, bei der ein Helfer ist nur für die Aussicht.
- Danke, John. Wenn Sie hinzufügen möchten, und als Antwort werde ich gerne daneben als angenommen für Sie 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
render
im controller versusrender
in einer Ansicht werden unterschiedliche Methoden. Der controller schließlich fordertrender
auf einen Blick, aber der controller istrender
Methode selbst rechnet nur einmal aufgerufen werden. Es sieht wie folgt aus:Hinweis, wie es erhöht, wenn mehr als einmal aufgerufen?
Beim Aufruf
helper_method
geben Sie der Ansicht einen proxy, um die controller-versionrender
, die nicht verwendet werden sollen, in der gleichen Weise wieActionView
's, die ist, anders als der controller wird erwartet, dass Sie mehrfach aufgerufen werden zum Rendern von partials und so weiter.Sieht aus wie in Rails 3.2 das funktioniert:
helper_method
. Dies geht nicht auf die Frage.Sie könnten versuchen, mit
render_to_string
Methode in der view Helfer