所以我试图在Ruby on Rails应用程序中尝试Angular路由。
问题在于,当我登陆路线时,让我们说'/'
,我有一个有角度的路线,说明当我降落时它会加载一个在我想要的目录中的模板,然后我的Rails服务器将抛出此错误:
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"):
所以基本上似乎它不会尝试从文件夹加载我的文件,而是尝试将我告诉角度路由的路径放到URL,然后发出请求?
因为如果我将templateUrl:
替换为/users
,这是我的应用中使用html响应的实际路线,那么它将有效地路由到它。但这不是我想要的行为。
我希望Angular用我输入被叫路由时指定的模板替换ng-view中的html模板。
这是我的角度路由代码:
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: "/"
此外,在我的application.html.erb
我已将base href
设为'/'
我的模板目前位于:app/assets/javascripts/angular/templates
,我的路由在angular
文件夹中定义
这可能是什么问题?
答案 0 :(得分:1)