2015-06-20 68 views
-1

im建立Rails应用程序并使用angular-rails-templates gem。我试图加载模板使用ng-include,它不工作。这里是我的application.js:使用Angular Rails模板时ng-include找不到模板文件

//= require jquery 
//= require jquery_ujs 
//= require angular 
//= require angular-rails-templates 
//= require lodash 
//= require_tree ../templates 
//= require_tree . 

模板文件位于assets/templates/person.html 已NG-包括的index.html.erb文件(只有拥有它的部分):

<li ng-repeat="item in dirList.list | filter:search"> 
    <ng-include src="'person.html'"></ng-include> 
</li> 

的js文件(仅限第一部分):

angular.module('directoryApp', ['templates']) 
    .controller('directoryController', function() { 

     var dirList = this; 

     dirList.toggle = true; 

可能是什么问题?该应用程序的其余部分正在工作!我究竟做错了什么?有没有更好的方式来使用角钢模板内的轨道?

回答

1

如果您正在使用'angular-rails-templates'0.2.0版或更早的版本,因为它目前存在依赖关系,请将'sprockets'gem手动降级到Gemfile中的'2.xx'版本(例如2.12.3)在'链轮'2.x.

除此之外,一定要把

config.angular_templates.ignore_prefix = %w(templates/)

在 '配置/ application.rb中' 文件。

+0

另见:http://stackoverflow.com/questions/29709334/angular-rails-templates-just-not-working –

1

遇到同样的问题,最终实现了使用ng-include语句时所需的角度语法。以下为我工作。

<li ng-repeat="item in dirList.list | filter:search"> 
 
    <div ng-include="'person.html'"></div> 
 
</li>

+0

感谢科里..非常适合我的作品也是如此。 –