2012-06-13 4 views
5

Jeśli piszę coś takiego:Dlaczego użycie <% i <% = w widokach?

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

Jaka jest różnica między tymi dwoma znakami <% i <%=?

Po co to robić, zamiast używać jednego do prostoty?

Kiedy należy się upewnić, że muszę używać <% przez <%=?

+2

Jeśli nie jest za późno, wybierz HAML: http://haml.info/docs/yardoc/file.HAML_REFERENCE.html lub Slim: http://slim-lang.com/docs.html. Oba mają klej "xxx-rails", który zastąpi ERb w generatorach. – jdoe

+2

Niektórzy ludzie wolą ERb. Chociaż warto sprawdzić HAML i Slim, nie są one obiektywnie lepsze. – MrTheWalrus

Odpowiedz

1

<% %> prostu wykonuje Statement (s) wewnątrz tego bloku, natomiast <%= %> wyjściem będzie wynikiem rachunku.

Na przykład przy pomocy <% if signed_in?.blank? %> interpreter ruby ​​wykonuje ten kod i sprawdza, czy signed_in jest puste.

Instrukcja <%= link_to %> wygeneruje HTML.