如何在HAML中的link_to中添加动态到静态类?

时间:2015-11-05 12:24:29

标签: ruby-on-rails ruby twitter-bootstrap haml

说我有一些HAML,我希望link_to有一个解析为

的bootstrap btn
class: `btn btn-grouped btn-close`

但是如果某些状态为真,我还想添加一个条件来添加类hidden

所以这些课可能是这样的:

btn btn-grouped btn-close disabled

但也可能是这样:

btn btn-grouped btn-close

我尝试了两个class:声明。这对我来说似乎不起作用。

我的目标是在课程列表的末尾没有额外的空间。

3 个答案:

答案 0 :(得分:1)

我认为没有理由关心HTML类名中的额外空间。如果它烦人,你可以定义一个帮手:

def hidden_classname(status)
  return 'hidden' if status
end

然后在视图中调用传递所需status参数的方法:

%div{ class: "#{['btn', 'btn-grouped', 'btn-close', hidden_classname(status)].compact.join(' ')}" }

答案 1 :(得分:0)

如果我理解你的话,下一个片段可以帮助你::

%div{:class => "num_seat passenger_seat #{'hidden' if !f.object.available_for_seat?}" }

答案 2 :(得分:0)

你可以这样:

class: "btn btn-grouped btn-close #{button_visibility}"

然后将button_visibility添加到您的助手。

def button_visibility 
  if some_status == true
    "hidden"
  else
    "disabled"
  end
end