根据条件在HAML中设置类和数据

时间:2015-04-08 09:41:28

标签: ruby-on-rails ruby 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?

我几乎尝试了所有东西,但它不起作用......

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分: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"}