使用partials将类添加到breadcrumb项

时间:2014-11-11 23:26:38

标签: ruby-on-rails if-statement haml partials

我对rails和haml很新。我有一个我想用partials渲染的面包屑,我想将一个变量传递给partial,以便正确的项目得到"启用"类。这就是我的尝试:

= render 'nav_breadcrumb', :locals => {:page1 => true}

在我的_nav_breadcrumb.html.haml页面上我有这个:

.overlay-breadcrumb.clearfix
  %span{:class => ("enabled" if :page1)}
    %span 1
  %span{:class => ("enabled" if :page2)}
    %span 2
  %span{:class => ("enabled" if :page3)}
    %span 3

问题是,无论给定的渲染变量如何,所有3个都获得启用的类。

1 个答案:

答案 0 :(得分:1)

在Rails文档中查看此部分: http://guides.rubyonrails.org/layouts_and_rendering.html#passing-local-variables

看起来当你传递变量时,你需要写{page1:true},然后在模板中只使用名称来引用变量。

= render 'nav_breadcrumb', :locals => {page1: true}

.overlay-breadcrumb.clearfix
    %span{:class => ("enabled" if page1)}
      %span 1
    %span{:class => ("enabled" if page2)}
      %span 2
    %span{:class => ("enabled" if page3)}
      %span 3