Saltar al contenido

¿Cómo escribir la condición if en Haml?

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.

    ¡Haz clic para puntuar esta entrada!
    (Votos: 0 Promedio: 0)



    Utiliza Nuestro Buscador

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *