그래서 Ruby on Rails 애플리케이션에서 각도 라우팅을 시도하고 있습니다.각도 라우팅이 올바르게 작동하지 않습니다.
문제는 루트에 착륙했을 때 '/'
라고 가정 해 봅시다. 착륙했을 때 원하는 디렉토리에 템플릿을로드해야한다는 각도 라우팅이 있습니다. 그러면 레일스 서버가 폴더에서 내 파일을로드하지 않는 것처럼 보이지만 대신 내가 URL에 각 경로를 말했다 경로를 넣어하려고 그러니까 기본적으로
Started GET "/templates/index.html.erb" for 127.0.0.1 at 2014-12-02 18:03:39 +0200
ActionController::RoutingError (No route matches [GET] "/templates/index.html.erb"):
한 다음 요청을이 오류가 발생 ?
templateUrl:
을 /users
으로 바꾸면 내 응용 프로그램에서 html로 응답하는 실제 경로가되므로 효과적으로 경로가 지정됩니다. 그러나 그것은 내가 원하는 행동이 아닙니다.
Angular가 호출 된 경로를 입력 할 때 지정된 nag-view의 html 템플릿을 지정된 템플릿으로 바꾸기를 원합니다. app/assets/javascripts/angular/templates
내 라우팅에 정의되어있다 : 나는 현재 그래서 위치한 base href
'/'
내 템플릿을 설정 한 내 application.html.erb
에서, 또한
App = angular.module("App", ['ngRoute', 'growlNotifications'])
App.config ($httpProvider) ->
authToken = $("meta[name=\"csrf-token\"]").attr("content")
$httpProvider.defaults.headers.common["X-CSRF-TOKEN"] = authToken
App.config ($routeProvider, $locationProvider) ->
$locationProvider.html5Mode true
$routeProvider
.when '/',
templateUrl: 'templates/index.html.erb',
controller: 'VisitorsCtrl'
.when '/users',
templateUrl: '../../views/users/index.html.erb',
controller: 'UsersCtrl'
.otherwise redirectTo: "/"
: 여기
는 각 라우팅 내 코드입니다angular
폴더
여기에 무슨 문제가있을 수 있습니까? "/ 자산 :
당신은 ERB 템플릿을 얻으려면
해결책을 제공하고 다시보고 해주세요! – Kaspar
좋아요, 파일을 .html로 변경하고 나에게 준 경로를 사용하여 작업하고 있습니다. 하지만 왜 그것이 assets/angular/templates/public.html입니까? 각도 폴더가 자산 폴더가 아닌 javascript 폴더에도있을 때? – Kaspar
이것은 Rails에서 자산이 스프롤킷을 통해 컴파일되고 게시되는 방법입니다. 자산 디렉토리에 템플릿이있는 경우 프로덕션 환경에 문제가있는 것 같습니다. –