2015-11-05 82 views
0

说我有一些HAML,我想有一个引导btn类解析为如何在HAML的link_to中为静态类添加动态?

class: `btn btn-grouped btn-close` 

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

因此类,也许是这样的:

btn btn-grouped btn-close disabled 

但他们也可能是这样的:

btn btn-grouped btn-close 

我试着做了两个class:声明。这似乎并不适用于我。

我的目标是在没有在班级列表末尾添加额外空间的情况下做到这一点。

回答

1

我认为没有理由关心HTML classnames中的额外空间。如果惹恼,你可以定义一个帮手:

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

然后调用方法传递需要考虑status参数:

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

如果我理解你的权利,未来的摘录可以帮助你::

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

不就是添加一个额外的空间的类列表的末尾?应该有一种方法,但不添加额外的空间吗?如果'button_visibility'为false,那么 – Johnston

0

可以使这样的事情:

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

然后加入button_visibility到您的帮手。

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

不会为类列表的末尾添加额外的空间吗?应该有一种方法,但不添加额外的空间吗? – Johnston

+1

只是返回''''如果你担心这个,在我的例子中你要么返回'隐藏'或'禁用' – neo