非法嵌套:内容不能与 %div 在同一行给出并嵌套在其中
Illegal nesting: content can't be both given on the same line as %div and nested within it
所以我正在使用 cloud 9 编辑器制作类似 Instagram 的页面。模板是 ruby on rails,但我也为此文件使用了 HAML。一旦我 运行 我的应用程序,我得到一个错误:非法嵌套:内容不能在与 %div 相同的行上给出并嵌套在其中。在此之前是一个错误,说缩进不正确。一个问题是我应该使用制表符还是空格?我的第二个问题是如何解决这个问题"Illegal nesting: content can't be both given on the same line as %div and nested within it"?错误在第 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
因为你有一个link_to,然后你在里面嵌套。检查 this answer here 并尝试更改您的代码。此外,如果您正在学习教程,请检查他们的代码并查看他们是否也出现错误。
解决方案
我所做的是缩进不正确。所以我回去检查每个缩进是否符合预期。现在代码如下所示:
%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
所以我正在使用 cloud 9 编辑器制作类似 Instagram 的页面。模板是 ruby on rails,但我也为此文件使用了 HAML。一旦我 运行 我的应用程序,我得到一个错误:非法嵌套:内容不能在与 %div 相同的行上给出并嵌套在其中。在此之前是一个错误,说缩进不正确。一个问题是我应该使用制表符还是空格?我的第二个问题是如何解决这个问题"Illegal nesting: content can't be both given on the same line as %div and nested within it"?错误在第 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
因为你有一个link_to,然后你在里面嵌套。检查 this answer here 并尝试更改您的代码。此外,如果您正在学习教程,请检查他们的代码并查看他们是否也出现错误。
解决方案 我所做的是缩进不正确。所以我回去检查每个缩进是否符合预期。现在代码如下所示:
%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