2016-12-29 4 views
2

javascriptの依存関係をロードしません:https://www.railstutorial.org/book/basic_loginRailsのアセットパイプラインは、私はRailsのチュートリアルでマイケル・ハートルのルビーを追ってきたと私はトラブル第八章の一環として、JavaScriptの依存関係を読み込むを持っています

CSSの依存関係は、(罰金ロードIブートストラップを使用しています)、ブラウザのページを調べると、頭に複数のタグ<link rel="stylesheet...>があります。ただし、コンパイルされたapplication.jsファイルをロードするスクリプトタグは1つのみです。

興味深いのは、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のとRubyのバージョンが5.1と2.3.2ですそれぞれ、
jsマニフェストファイルはapp/assets/javascripts/application.js

+0

ええ、ブートストラップの宝石はありましたが、依存性が全くロードされませんでした。 – Vlad

答えて

1

私の主なアプリケーションの関連部分をJSの依存関係を読み込んだ新しいレールアプリに移動することで問題を解決しました。私はこれが私の側で設定上の問題であったと思っています。

もっと具体的には、私はGemfile、db /、config/routes.rbとapp /(config /以外)のすべてを新しいレールアプリに移動しました。すべてがうまくいけば、私はメインアプリケーションのapp /ディレクトリを新鮮なアプリケーションのもので上書きしました。

関連する問題