クライアント側の開発に angularjs を使用する Rails アプリケーションがあります。「app/assets/javascripts/templates/」にあるテンプレートをロードしようとしました:
myApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/', {
templateUrl: '/index.html',
controller: 'MainController'
}).
otherwise({
redirectTo: '/'
});
}]);
しかし、常にエラーが発生します:「エラー: [$compile:tpload] テンプレートの読み込みに失敗しました: /index.html」。
"templates" フォルダーを javascripts - app/assets/templates の外に移動し、次の行を config/application.rb に追加してアセット パイプライン ロードに追加しようとしました。config.assets.paths << Rails.root.join("app","assets","templates")
テンプレートへのフル パスを使用するまで、同じエラー メッセージが表示され続けます: templateUrl: '/assets/index.html',
。
なぜ最初の方法では不十分なのですか? angular-rails-templates gem は app/assets/javascripts/templates でテンプレートを探すべきではありませんか?
javascript 内のアセットへのフル パスを使用する必要があるのはなぜですか?