2012-06-13 14 views
5

Wenn ich etwas schreiben wie:Warum die Verwendung von <% und <% = in den Ansichten?

<% if signed_in?.blank? %> oder <%= link_to "Sign Up", sign_up_path %>

Was ist der Unterschied zwischen den beiden Zeichen von <% und <%=?

Warum machen Sie es so, anstatt nur eines zur Vereinfachung zu verwenden?

Wann weiß ich, dass ich <% über <%= verwenden muss?

+2

Wenn es nicht zu spät ist, wählen Sie HAML: http://haml.info/docs/yardoc/file.HAML_REFERENCE.html oder Slim: http://slim-lang.com/docs.html. Beide haben 'xxx-rails', um ERb in Generatoren zu ersetzen. – jdoe

+2

Einige Leute bevorzugen tatsächlich ERb. Obwohl es sich lohnt, HAML und Slim zu testen, sind sie nicht objektiv besser. – MrTheWalrus

Antwort

1

<% %> einfach die Anweisung ausführt (en) innerhalb dieses Blocks, während <%= %> ausgeben wird das Ergebnis der Anweisung.

So zum Beispiel mit dem <% if signed_in?.blank? %>, der Ruby-Interpreter führt nur diesen Code und überprüft, ob signed_in leer ist.

Die Anweisung <%= link_to %> generiert tatsächlich HTML.

Verwandte Themen