我正在使用基本的Rails / Angular应用程序并使用ui.router来控制视图。但是,当我尝试使用templateUrl
时,出现localhost/app/assets/templates/partial-home.html
错误。我应该把这些部分放在哪里供铁路使用?
app.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('home', {
url: '/',
template: "this is a test of the state provider",
//templateUrl: 'app/assets/templates/partial-home.html',
controller: 'testCtrl'
});
});
答案 0 :(得分:3)
我正在使用angular-rails-template,它还将HTML模板缓存到Angular的$templateCache
中以保存AJAX调用或手动注入模板。
因此,对于assets/javascripts/templates
中的模板
(我已经为您的设置添加了说明,但尚未对其进行测试)
gem 'angular-rails-templates'
和bundle
需要清单中的模板js(可能是application.js
)
//= require angularjs
//= require angular-rails-templates
//= require_tree ./templates
(在您的设置中,包含应为://= require_tree ../templates
(未经过测试),您应该更改ignore_prefix settings)
angular.module('myApplication', ['templates']);
在你的ui-router js中使用你的模板:
$stateProvider.state('home', {
url: '/',
// Template on: app/assets/javascripts/templates/partial-home.html
templateUrl: 'partial-home.html', //should work now :)
controller: 'testCtrl'
});
});
就是这样。 让我知道它是怎么回事