2016-12-29 3 views
2

Я после Руби Майкла Hartl на Rails учебник и у меня возникли проблемы с загрузкой зависимостей JavaScript в составе 8-й главы: https://www.railstutorial.org/book/basic_loginРельсы трубопровод актива не загружается JavaScript зависимостей

Зависимости CSS загрузить отлично (I 'm using bootstrap), и при проверке страницы в браузере в голове есть несколько тегов <link rel="stylesheet...>. Однако есть только один тег скрипта, который загружает скомпилированный файл application.js.

Интересно, что даже если я ошибаюсь в файле манифеста js, например, требующем файла, который не существует, я не получаю никаких ошибок при рендеринге моих страниц в браузере.

Я попытался воспроизвести это в новом приложении, но я не смог. Просто требуя необходимые камни в Gemfile, bundle install и посетив любую страницу, кроме рельсов по умолчанию, включите все зависимости, перечисленные в файле манифеста application.js, как отдельные теги <script src=..> в <head>.

Я загрузки активов как часть файла layouts/application.html.erb, используя хелперы:

<%= csrf_meta_tags %> 
<%= stylesheet_link_tag 'application', media: 'all', 
            'data-turbolinks-track': 'reload' %> 
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> 

application.js файл манифеста:

// This is a manifest file that'll be compiled into application.js, which will include all the files 
// listed below. 
// 
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, 
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path. 
// 
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the 
// compiled file. JavaScript code in this file should be added after the last require_* statement. 
// 
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details 
// about supported directives. 
// 
//= require jquery 
//= require jquery_ujs 
//= require bootstrap 
//= require turbolinks 
//= require_tree . 

Мои RoR и Руби версии 5.1 и 2.3.2 соответственно.
В JS файл манифеста является app/assets/javascripts/application.js

+0

Да, там был камень самонастройки, однако он не загружал никакой зависимости вообще. – Vlad

ответ

1

Я решил проблему, перемещая соответствующие части моего основного приложения в свежий рельсы приложение, которое сделал загрузить зависимости JS. Я ожидаю, что это проблема конфигурации на моей стороне.

Более конкретно, я переместил Gemfile, db /, config/routes.rb и все из приложения/(кроме config /) в новое приложение для рельсов. После того, как все сработало, я переписал приложение/каталог моего основного приложения с одним из нового приложения.