非法嵌套:内容不能与%div在同一行上给出并嵌套在其中

问题描述 投票:2回答:2

所以我使用cloud 9编辑器制作一个类似Instagram的页面。模板在rails上是ruby,但我也在使用HAML这个文件。一旦我运行我的应用程序,我就会收到错误:非法嵌套:内容不能同时在%div上给出并嵌套在其中。在此之前是一个错误说缩进是不正确的。一个问题是我应该使用制表符还是空格?我的第二个问题是如何解决这个问题“非法嵌套:内容不能与%div在同一行上给出并嵌套在其中”?错误在第16行:.collapse.navbar-collapse#bs-navbar-collapse-1先谢谢!

以下是我的application.html.haml:

%html
 %head
  %title Photogram
  = stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true
  = javascript_include_tag 'application', 'data-turbolinks-track' => true
  = csrf_meta_tags
 %body
  %nav.navbar.navbar-default
  .navbar-container
  .navbar-header
  %button.navbar-toggle.collapsed{"data-target" => "#bs-navbar-collapse-1", "data-toggle" => "collapse", type: "button"}
  %span.sr-only Toggle Navigation
  %span.icon-bar
  %span.icon-bar
  .navbar-brand= link_to "Photogram", root_path
      .collapse.navbar-collapse#bs-navbar-collapse-1
      %ul.nav.navbar-nav.navbar-right
      %li
        = link_to "New Post", new_post_path
      %li
        = link_to "Login", '#'
      %li
        = link_to "Register", '#'

    .container
    = yield
ruby-on-rails haml
2个回答
0
投票

这是因为你有一个link_to,然后你就是在里面嵌套。检查this answer here并尝试更改您的代码。此外,如果您正在学习教程,请检查他们的代码并查看他们是否也收到错误。


0
投票

解决方案我所做的是压痕不正确。所以我回去检查每个缩进是否应该如何。现在代码看起来像这样:

%html
%head
  %title Photogram
  = stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true
  = javascript_include_tag 'application', 'data-turbolinks-track' => true
  = csrf_meta_tags
%body
  %nav.navbar.navbar-default
    .navbar-container
      .navbar-header
        %button.navbar-toggle.collapsed{"data-target" => "#bs-navbar-collapse-1", "data-toggle" => "collapse", type: "button"}
          %span.sr-only Toggle Navigation
          %span.icon-bar
          %span.icon-bar
        .navbar-brand= link_to "Photogram", root_path
      .collapse.navbar-collapse#bs-navbar-collapse-1
        %ul.nav.navbar-nav.navbar-right
          %li
            = link_to "New Post", new_post_path
          %li
            = link_to "Login", '#'
          %li
            = link_to "Register", '#'

  .container
    = yield
© www.soinside.com 2019 - 2024. All rights reserved.