my question concerns about Rails + HAML
I would like to conditionally set a class atribute to a HTML tag. I figured out that the best way to do this is by setting controller variables that are used to set a class of the appropriate HTML tag.
The only solutions I found googling tell me to use a conditional in HAML. But I don’t think this is the best approach, since Views shouldn’t have any logic control.
So, how could I do this directly from the controller? Which are those controller variables that can set a class of a html tag?
Haml indeed discourages using logic in views and makes it easy to create helpers instead. So one solution would be to create your helper method with any logic inside.
You can’t control html markup from controllers, the views are for this purpose.
If you don’t want to create a separate helper (it’s too much for your requirements), use existing tag helper that comes with rails. It accepts a hash of options which can be intialized from your controller if you like.
But again, I’d go for helper.