Итак, я пытаюсь опробовать функцию угловой маршрутизации в приложении Ruby on Rails.Угловая маршрутизация не работает правильно
Проблема в том, что когда я приземляюсь на маршрут, допустим, '/'
, и у меня есть угловая маршрутизация, которая говорит, что когда я приземляюсь на нее, она должна загрузить шаблон в моем желаемом каталоге, тогда мой сервер 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, то он будет эффективно направлять на него. Но это не то поведение, которое я хочу.
Я хочу, чтобы угловой заменить html-шаблон в моем ng-представлении с помощью шаблона, указанного при вводе вызываемого маршрута.
Вот мой код для угловой маршрутизации:
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
В чем проблема?
Попробует ваше решение и сообщит об этом! – Kaspar
Хорошо, я заработал, изменив файл на .html и используя путь, который вы мне дали. Но почему это «активы/угловые/шаблоны/public.html»? Когда угловая папка также находится в папке javascripts не только в папке с ресурсами? – Kaspar
Это способ сбора и публикации активов с Rails через Sprockets. Если у вас все еще есть шаблоны в каталоге ресурсов, у вас, вероятно, будет проблема в производственной среде ... –