我目前有使用gem的面包屑,但我不知道如何控制其输出。现在,我想在视图- show_breadcrumbs false
中添加这样的内容,然后让它不显示,但我不确定我该怎么做。我对yield / blocks不太熟悉。有人能告诉我怎么写这个吗?
这是我的尝试:
在我的帮手中:
def show_breadcrumbs(show=true)
if show
render :partial => 'layouts/breadcrumbs'
end
end
在我的application.html.haml中:
= yield :show_breadcrumbs
在我看来:
- show_breadcrumbs false
答案 0 :(得分:2)
您应该使用yield
and content_for
方法:
在布局application.html.haml
中:
= content_for?(:breadcrumbs) ? yield(:breadcrumbs) : render(:partial => 'layouts/breadcrumbs') %>
除非您在视图中另行指定,否则这将默认呈现面包屑:
content_for(:breadcrumbs, '') # to hide the breadcrumbs.
或
content_for(:breadcrumbs, 'anything else') # to replace breadcrumbs with something else.