我对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个都获得启用的类。
答案 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