¿Cómo escribir declaraciones ify if- elseen Haml para una aplicación Ruby on Rails?
                    
                        ruby-on-rails
                                haml
                                
                    
                    
                        Thillai Narayanan
fuente
                
                
            fuente

oroperador a la condición?En haml se utilizan dos operadores para el código ruby.
=se utiliza para el código ruby que se evalúa y se inserta en el documento.Ejemplo:
-se utiliza 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!"fuente
=si desea generar una cadena simple comoHioPlease sign in.=solo es necesario para evaluar Ruby, como= "Hi, #{@user.name}"En haml, use 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 las dos declaraciones de if / else.- if signed_in? %li= link_to "Sign out", sign_out_path - else %li= link_to "Sign in", sign_in_pathes el mismo que el siguiente código en ERB:
<% if signed_in? %> <li><%= link_to "Sign out", sign_out_path %></li> <% else %> <li><%= link_to "Sign in", sign_in_path %></li> <% end %>fuente
Si quieres poner condición dentro de tu etiqueta
%section{:class => "#{'new-class' if controller.action_name == 'index'}"}ACTUALIZAR
Aquí hay otra variación
%nav(class="navbar"){class: content_for?(:navbar_class) ? yield(:navbar_class) : nil}fuente
Aquí hay dos enlaces:
El primero es un convertidor: puede ingresar html o erb snippets y obtendrá haml
fuente