Rails рендерится, но не появляется - PullRequest
0 голосов
/ 10 октября 2018

Пожалуйста, извините за мой английский, если он не идеален.

Я знаю, что уже есть разные темы об этом типе проблемы, но ни одна не принесла эффективного решения в моем случае.

У меня естьНа боковой панели и в журналах я вижу, что он отображается, но он не отображается ни в представлении, ни при проверке элементов.

Я не вижу ошибок в коде, но, возможно, вы что-то увидите.

_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

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

В вашем application.slim у вас есть - if content_for(:full_width).Это, вероятно, возвращает некоторое истинное значение, поэтому любые другие elsif не будут выполнены.Я считаю, что это должно быть - if content_for?(:full_width)

0 голосов
/ 10 октября 2018

должно быть = yield :leftbar.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...