How to write if-condition in Haml?

Thillai Narayanan picture Thillai Narayanan · Nov 6, 2011 · Viewed 65.5k times · Source

How to write if and if-else statements in Haml for a Ruby on Rails application?

Answer

bilash.saha picture bilash.saha · Nov 6, 2011

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