2012-04-14 9 views
1

Gibt es eine Möglichkeit in Ruby's ERBs (z. B. in einer Schienenansicht) zu beenden, die Datei zu analysieren, bevor das Ende erreicht wird? Etwas in Richtung Rubins __END__.Quit ein ERB lesen

Some Text 
<%= ... %> 
<% some_magic_quit_function %> 
This will not be included in the result 

Ich habe return versucht, aber es hat nicht richtig funktioniert.

Antwort

4

nein, aber es gibt die viel einfacher

<% unless some_quit_function %> 
    Output you don't want included if some_quit_function returns true 
<% end %> 
0

Als Doug R dieser darauf hingewiesen wird nicht funktionieren, ist der Grund dafür ist, dass Erb das Ergebnis der Methode „some_magic_quit_function“ auswertet und dann gibt das Ergebnis als ein Rendern. Ich nehme an, dass Sie eine Rückgabe in dieser Methode haben, die sie nur von dieser Methode selbst zurückgibt (sie wird nicht global zurückgegeben).

Sie müssen den Code (ein Logiktest, wo Sie in der tatsächlichen Erb-Datei zurückgeben), den Doug R bereitgestellt hat, verwenden.

+0

Grund für den Downvote? –

+1

Es war nicht ich, aber ich nehme an, es ist, weil dies mehr wie ein Kommentar zu Dougs Antwort ist und keine Antwort für sich – Gareth