2015-04-08 49 views
0

我有一些部分,看起來像這樣:Set類和HAML數據條件

.btn.btn-success{class: 'disabled',"data-original-title" => "Tooltip on left", "data-placement" => "left", "data-toggle" => "tooltip"} 
    %span.fa.fa-gear 
    Process 

有可能重構這個模板來設置此:

{class: 'disabled',"data-original-title" => "Tooltip on left", "data-placement" => "left", "data-toggle" => "tooltip"} 

僅舉例來說,如果1 + 1 == 2?

我試圖幾乎一切,但它不工作...

回答

1

你可以做到這一點很容易

class: ('disabled' if 1 + 1 == 2), "data-original-title" => ("Tooltip on left" if 1 + 1 == 2), "data-placement" => ("left" if 1 + 1 == 2), "data-toggle" => ("tooltip" if 1 + 1 == 2) 
+0

這很簡單,當你只有類屬性,但我有一個以上的屬性,這是不行的。 –

+1

我編輯了答案 – RSB

+0

不錯,但很多重複...... –

0

這是一個例子給類活躍,這取決於控制器和方法: 您可以使用它創造你自己的。

application_helper.rb

module ApplicationHelper 
    def is_active(controller, action)  
    params[:action] == action && params[:controller] == controller ? "active" : nil   
    end 
end 

視圖文件

%li 
    %a{class: is_active('controller_1', 'index'), :href => "/controller_1"}