将哈希传递给HAML括号

时间:2015-05-02 23:59:47

标签: ruby-on-rails haml

我有一行HAML:

%button.navbar-toggle.collapsed{ type: :button, 'data-toggle' => :collapse, 'data-target' => "#bs-example-navbar-collapse-1" }

非常难看。我希望能够将括号中的所有内容作为ruby变量传递以简化它。

有办法吗?我宁愿拥有:

%button.navbar-toggle.collapsed{ options_hash }

1 个答案:

答案 0 :(得分:2)

如果您担心if语法(那些丑陋的1.8),您可以这样做:

hashrockets

至少好一点,对吧?或者你甚至可以尝试这个看起来也比旧的哈希语法更好:

%button.navbar-toggle.collapsed{ type: :button, data: { toggle: :collapse, target: "#bs-example-navbar-collapse-1" } }

但那不是你问的。是的,这是可能的。你有没有尝试过?我不完全确定你为什么要这样做,但这应该是可能的:

%button.navbar-toggle.collapsed(type="button" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1")