Раскрывающиеся страницы начальной загрузки не переключаются с новым расположением рельсов - PullRequest
0 голосов
/ 19 февраля 2019

Я реализовал новый макет рельсов и не могу заставить работать раскрывающиеся списки из меню навигации.Раскрывающийся список из меню на главной странице (другой макет) работает нормально.У меня действительно загружен jquery, но явно что-то не загружается в правильном порядке для этого макета, так как он не переключается.

Работающий макет имеет этот application.js:

//= require jquery
//= require popper
//= require rails-ujs
//= require bootstrap
//= require_tree ./common

Неработающий макет имеет этот 'stack.js'

//= require jquery
//= require popper
//= require rails-ujs
//= require bootstrap
//= require stack/vendors/vendors.min
//= require stack/vendors/charts/raphael-min
//= require stack/vendors/charts/morris.min
//= require stack/vendors/extensions/unslider-min
//= require stack/vendors/timeline/horizontal-timeline
//= require stack/core/app-menu
//= require stack/core/app
//= require stack/scripts/pages/dashboard-ecommerce
//= require_tree ./common

Общие файлы - это js-файлы для конкретных страниц, которые необходимы в обоих макетах.

Вот фрагмент израскрывающийся список:

  <% if user_signed_in? %>
  <ul class="navbar-nav ml-auto">
    <li class="nav-item dropdown">
    <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" role="button">
      <span class="glyphicon glyphicon-user">
        <%= current_user.name %>
      </span>
      <b class="caret"></b>
    </a>
    <div class="dropdown-menu" aria-labelledby="navbarDropdown">
      <%= link_to( t(:profile), user_path(current_user), class:"dropdown-item") %>
      <div class="divider"></div>
      <%= link_to("Log out", destroy_user_session_path, method: :delete, class:"dropdown-item") %>
    </div>
    </li>
  </ul>
<% end %>

Вот фрагмент из навигации нового макета, которая не работает:

  <li class="dropdown dropdown-user nav-item"><a class="dropdown-toggle nav-link dropdown-user-link" href="#" data-toggle="dropdown"><span class="avatar avatar-online"><%= image_tag('stack/portrait/small/avatar-s-1.png')%><i></i></span><span class="user-name"><%= current_user.name %></span></a>
    <div class="dropdown-menu dropdown-menu-right">
      <a class="dropdown-item" href="#"><i class="ft-user"></i> Edit Profile</a>
      <a class="dropdown-item" href="#"><i class="ft-mail"></i> My Inbox</a><a class="dropdown-item" href="user-cards.html"><i class="ft-check-square"></i> Task</a>
      <a class="dropdown-item" href="#"><i class="ft-message-square"></i> Chats</a>
      <div class="dropdown-divider"></div>
      <%= link_to('Logout', destroy_user_session_path, method: :delete, class: "dropdown-item") %>
    </div>
  </li>

applicationacion.scss (схема дисков, которая работает только)

 @import "bootstrap";

stack.scss (расположение дисков, раскрывающиеся списки которых не работают):

///FILES IMPORTED FROM VENDOR.CSS///
@import 'bootstrap';

@import 'stack/fonts/feather/style';
@import 'stack/fonts/font-awesome/css/font-awesome';
@import 'stack/fonts/flag-icon-css/css/flag-icon';
@import 'stack/vendors/extensions/pace';
//// END FILES IMPORTED FROM VENDOR.CSS ///

@import 'stack/fonts/meteocons/style';
@import 'stack/vendors/extensions/unslider';
@import 'stack/vendors/charts/morris';

//FILES THAT WERE BEING IMPORTED BY APP.CSS

@import "stack/bootstrap-extended";
@import "stack/colors";
@import "stack/components";

////////

@import 'stack/core/menu/menu-types/vertical-menu';
@import 'stack/fonts/simple-line-icons/style';
@import 'stack/core/colors/palette-gradient';
@import 'stack/pages/timeline';
@import 'style';

Я попытался изменить порядок загрузки начальной загрузки js в stack.js, но не имелудачи.Я пытался исправить это в течение последних 2 дней, но у меня нет идей.Я использую Rails 5.2.Есть мысли?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Я понял это.Некоторые из JS в шаблоне уже загружали jquery, поэтому, загружая его в файлы layout.js, а затем в сценарии (иногда), это вызывало проблемы.

0 голосов
/ 19 февраля 2019

Ответ будет зависеть от версии загрузчика, которую вы используете.Если вы используете загрузчик 4, удалите все теги require из файла application.scss.

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