Basta ya de investigar por otros sitios porque has llegado al lugar adecuado, tenemos la solución que necesitas sin liarte.
Solución:
HAML se basa en la sangría y el analizador puede ser complicado. No necesita usar “-end” en Haml. Utilice la sangría en su lugar. En Haml, un bloque comienza cada vez que se aumenta la sangría después de un comando de evaluación de Ruby. Termina cuando la sangría disminuye. Muestre el bloque if else de la siguiente manera.
- if condition
= something
- else
= something_else
Un ejemplo práctico
- if current_user
= link_to 'Logout', logout_path
- else
= link_to 'Login', login_path
Editar :
Si solo quieres usar la condición if, entonces
- if current_user
= link_to 'Logout', logout_path
En haml se utilizan dos operadores para el código ruby.
=
se usa para el código Ruby que se evalúa y se inserta en el documento.
Ejemplo:
= form_for @user
-
se usa para el código Ruby que se evalúa y NO se inserta en el documento.
Ejemplo:
- if @user.signed_in?
= "Hi"
- else
= "Please sign in!"
En haml, usa el -
(guión) para indicar que una línea es código Ruby. Además, el nivel de sangría indica el nivel de bloque. Combine los dos para declaraciones if/else.
- if signed_in?
%li= link_to "Sign out", sign_out_path
- else
%li= link_to "Sign in", sign_in_path
es lo mismo que el siguiente código en ERB:
<% if signed_in? %>
<%= link_to "Sign out", sign_out_path %>
<% else %>
<%= link_to "Sign in", sign_in_path %>
<% end %>
Te mostramos reseñas y puntuaciones
Si te gusta el asunto, puedes dejar una crónica acerca de qué le añadirías a este escrito.