4

Angular にテンプレートをロードさせようとしています:

var app = angular.module("myApp", ['templates'])

そして私のhtml:

<div ng-app="myApp">
  <div ng-include="'blah.html'"></div>
</div>

しかし404 Failed to load resource、Rails によると、No route matches [GET] "/blah.html". これは、Rails のアセット パイプラインによるものだと理解しています。blah.htmlが入っており、問題を解決するために宝石を/app/assets/javascripts/templates/blah.html使用しています。angular-rails-templatesだから私application.jsは持っています:

//= require angular-rails-templates
//= require_tree ./templates

しかし、私は運がありません。

angular-rails-templates生成されたhtmlは、それがロードされていることを示唆しています(スクリプトがあります/assets/angular-rails-templates....js)が、レールが見つかりませんblah.html

バージョン:
rails 4.2.1
angular-rails-templates 0.1.4
angularjs 1.3.15

4

5 に答える 5

1

これを取得するのに 1 時間苦労した後、同じ名前の JavaScript ファイルがあることに気付きました。

たとえば、次のファイルは競合を引き起こします。

component.js
component.html.haml

そこで、JavaScript ファイルの名前を次のように変更しました。

component-directive.js
component.html.haml
于 2016-01-30T09:29:49.667 に答える
0

私は今日同じ問題に苦労しており、この問題の解決策を見つけたと思います。

試す

<div ng-include="'assets/blah.html'"></div>

また

<div ng-include="'assets/templates/blah.html'"></div>

それ以外の

<div ng-include="'blah.html'"></div>

これで問題は解決しました。

于 2015-04-17T16:27:16.743 に答える