Application.html.haml无法在任何地方呈现

时间:2016-12-10 00:58:47

标签: ruby-on-rails ruby twitter-bootstrap devise haml

我在Ruby on Rails(https://www.youtube.com/watch?v=abcnfFS_DS8)中执行pinterest克隆时遇到了这个问题

我的application.html.haml文件没有呈现,似乎编辑主页的唯一方法是添加到index.html.haml

布局/ _application.html.haml

!!! 5
%html
%head
  %title Pin Board
  = 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
    .container
      .navbar-brand= link_to "Pin Board", root_path

      - if user_signed_in?
        %ul.nav.navbar-nav.navbar-right
          %li= link_to "New Pin", new_pin_path
          %li= link_to "Account", edit_user_registration_path
          %li= link_to "Sign Out", destroy_user_session_path, method: :delete
      - else
        %ul.nav.navbar-nav.navbar-right
          %li= link_to "Sign Up", new_user_registration_path
          %li= link_to "Sign In", new_user_session_path
  .container
    - flash.each do |name, msg|
      = content_tag :div, msg, class: "alert alert-info"
    = yield

// index.html.haml

= link_to "New Pin", new_pin_path
- @pins.each do |pin|
  %h2= link_to pin.title, pin

//我的索引是什么样的

No navbar showing up

//此时教程的内容是什么

Mackenzie childs index

如果我猜猜我会说这是Bootstrap的问题,或者我可能缺少一些连接application.html.haml的代码,或者我的版本可能已关闭?

1 个答案:

答案 0 :(得分:1)

application.html.haml是一个视图文件,而不是部分文件。所以你所犯的错误就是在字符_前加上视图名称,这样做会使它成为一个部分。

所以解决方法是:将文件名重命名为application.html.haml

修改

_以外,您的文件中有错误的缩进名称:application.html.haml。您正在使用%html%head& %body位于同一行,导致不在%html下方呈现任何内容。

缩进%head& %body喜欢

!!! 5
 %html
   %head

   %body