请原谅我的英语不完美。
我知道关于这种类型的问题已经有不同的话题,但是没有一个能为我带来有效的解决方案。
我有一个侧边栏,并且在日志中,我可以看到它已渲染,但是它没有出现在视图中或当我检查元素时。
我在代码中没有看到任何错误,但也许您会看到一些东西。
_sidebar.slim:
= content_for(:leftbar) do
.leftbar-nav
.leftbar-content
.leftbar-block
= render('shared/clients_ratings')
.leftbar-block
= render('themes/list')
.leftbar-block
= render('shared/social_share')
.cta-block
= widget_content('sidebar-list-public-orders')
以_orders.slim呈现:
- unless identity_signed_in?
= render 'shared/cta_blocks'
- if @orders.size > 0
= render @orders
= paginate @orders
- else
p
| There are no orders.
= render('themes/sidebar')
在index.slim中呈现:
- content_for(:full_width) do
.neo-page-header
.container
.neo-page-header-title
h1 Title
.container
= render('orders/orders')
最后,我的应用程序中有一个content_for?(:leftbar)。slim:
doctype html
html lang="fr"
= render "layouts/head"
body class= "#{yield(:app_class)}"
#wrap
= render 'shared/flash_messages'
= render 'shared/admin_navbar'
- if identity_signed_in?
= render 'shared/navbar'
- else
= render 'shared/navbar_guest'
= render 'shared/banner' unless hide_banner? or identity_signed_in?
= render('shared/confirmation_notice')
- if content_for(:full_width)
= yield(:full_width)
- elsif content_for?(:sidebar)
.container
.row
.col-lg-9.col-md-9
= yield
.col-lg-3.col-md-3
= yield :sidebar
- elsif content_for?(:leftbar)
.container
.row
.col-lg-3.col-md-3
= yield :leftbar
.col-lg-9.col-md-9.main-content
= yield
- else
.container
= yield
答案 0 :(得分:1)
在您的application.slim
中,您有- if content_for(:full_width)
。这可能会返回一些真实值,因此将不会执行任何其他elsif
。我相信应该是- if content_for?(:full_width)
答案 1 :(得分:0)
应为= yield :leftbar
。