web-dev-qa-db-ja.com

Rails javascriptファイルのロード順序を指定しますか?

私のapplication.jsファイルには、次のものがあります。

//= require jquery
//= require jquery_ujs
//= require underscore
//= require backbone
//= require_tree .
//
//= require .//community_app
//
//= require_tree ../templates/
//= require_tree .//models
//= require_tree .//collections
//= require_tree .//views
//= require_tree .//routers

しかし、生成されたhtmlはこの順序に従いません:

<head>
  <title>CommunityApp</title>
  <link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/communities.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/home.css?body=1" media="all" rel="stylesheet" type="text/css" />
  <script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/underscore.js?body=1" type="text/javascript"></script>
<script src="/assets/backbone.js?body=1" type="text/javascript"></script>
<script src="/assets/collections/communities.js?body=1" type="text/javascript"></script>
<script src="/assets/community_app.js?body=1" type="text/javascript"></script>
<script src="/assets/home.js?body=1" type="text/javascript"></script>
<script src="/assets/models/community.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
  <meta content="authenticity_token" name="csrf-param" />
<meta content="ktrLMDYSJaU/mmgmzfpxDfMin7OCXga4K5gVIJZHJUI=" name="csrf-token" />
</head>
<body>

コレクションはモデルの前にロードされるため、フロントエンドでエラーが発生します。 jsファイルを特定の方法でロードするようにするにはどうすればよいですか?ありがとう

22
0xSina

あなたはまだ持っています

//= require_tree .

明らかにアルファベット順にすべてをロードしている、より高い。それを削除して(明らかにすべてが他の場所で必要であることを確認してください)、問題がないはずです。 application.jsの最後の行にすることはできるかもしれませんが、2つのステートメントが同じファイルを必要とする場合の指定された動作を覚えていません。

35