How to write if
and if
-else
statements in Haml for a Ruby on Rails application?
HAML is indentation based , and the parser can be tricky.You don't need to use "- end" in Haml. Use indentation instead.In Haml,a block begins whenever the indentation is increased after a Ruby evaluation command. It ends when the indentation decreases.Sample if else block as follows.
- if condition = something - else = something_else
A practical example
- if current_user = link_to 'Logout', logout_path - else = link_to 'Login', login_path
Edit : If you just want to use if condition then
- if current_user = link_to 'Logout', logout_path
In haml two operators are used for ruby code.
=
is used for ruby code which is evaluated and gets inserted into document. Example:
= form_for @user
-
is used for ruby code which is evaluated and NOT get inserted into document. Example:
- if @user.signed_in? = "Hi" - else = "Please sign in!"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With