Application.html.haml нигде не рендерится

0

Я столкнулся с этой проблемой, выполняя клон pinterest в Ruby on Rails (https://www.youtube.com/watch?v=abcnfFS_DS8)

Мой файл 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

//Как выглядит мой индекс

Изображение 173740

//Как выглядит учебник на этом этапе

Изображение 173742

Если бы я сделал предположение, я бы сказал, что это проблема с Bootstrap, или, возможно, мне не хватает кода, который соединяет application.html.haml, или, может быть, мои версии отключены?

Теги:
haml
devise

1 ответ

1
Лучший ответ

application.html.haml - это файл вида, а не частичный. Таким образом, ошибка, которую вы делаете, добавляет символ _ с именем представления, и это делает его частичным.

Таким образом, решение: переименуйте имя файла в application.html.haml

Редактировать:

Помимо _, в вашем файле есть неправильный отступ: application.html.haml. Вы используете %html, %head & %body в той же строке, что приводит к тому, чтобы не отображать какие-либо вещи ниже %html.

Таким образом, отступ %head & %body like

!!! 5
 %html
   %head

   %body
  • 0
    Я пробовал с подчеркиванием и без, и это не имело значения. Теперь я знаю, что значит _, спасибо! Есть другие идеи?
  • 0
    Покажите код вашего контроллера, пожалуйста.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню