2014-06-06 3 views
4

기본 Rails/Angular 앱에서 작업하고 ui.router를 사용하여 뷰를 제어하고 있습니다. 그러나 templateUrl을 사용하려고하면 localhost/app/assets/templates/partial-home.html 오류가 발생합니다. 이 부분품을 어디서 레일에 올려야합니까? 내가 AJAX를 저장도 각도의 $templateCache에 HTML 템플릿을 캐시 angular-rails-template을 사용하고내 ui.router 템플릿은 레일즈 애플리케이션에 어디에 넣어야합니까?

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' 
    }); 

}); 

답변

3

호출하거나 수동으로 템플릿을 주입.

그래서에서 템플릿 : assets/javascripts/templates

  • gem 'angular-rails-templates'
  • bundle는 (매니페스트 템플릿 JS를 필요로 (내가 당신의 설정을위한 지침을 추가했습니다,하지만 그것을 테스트하지 않은 경우) 아마 application.js

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

    (셋업에서이되어야합니다 포함) : //= require_tree ../templates (N OT)는 테스트, 당신은 ignore_prefix settings)

  • 분사의 의존성을 변경해야합니다 : angular.module('myApplication', ['templates']);
  • 은 UI 라우터 JS에서 템플릿을 사용 그것 뿐이다

    $stateProvider.state('home', { 
    
        url: '/', 
    
        // Template on: app/assets/javascripts/templates/partial-home.html 
    
        templateUrl: 'partial-home.html', //should work now :) 
    
        controller: 'testCtrl' 
    
        }); 
    
    }); 
    

합니다. 어떻게되는지 알려주세요

+0

또한 톱니 바퀴 버전 2.12 이상을 가져야합니다. –

관련 문제