У меня есть URL-адрес, который передается в мой Угловой код через Rails. Однако, когда я пытаюсь выбрать параметр в URL-адресе, он отображается как пустой. Может кто-нибудь мне помочь?
Пример URL: http://localhost:3000/events/event1
Plnkr: http://plnkr.co/edit/yG8wAZHhgPtH2PBFzql3?p=preview
Угловой:
eventsApp = angular.module('EventsApp', ['ngRoute'])
eventsApp.config [
'$routeProvider'
'$locationProvider'
($routeProvider, $locationProvider) ->
$locationProvider.html5Mode(true)
$routeProvider.when '/events/:eventName',
templateUrl: '../../views/events/events.html.erb'
controller: 'EventsCtrl'
return
]
eventsApp.controller('EventsCtrl', [
'$scope'
'$routeParams'
($scope, $routeParams) ->
console.log($routeParams.eventName) # shows up as undefined
$scope.greeting = $routeParams.eventName
])
HTML:
events.html.erb
<div>
{{greeting}}
</div>
application.html.erb (общая схема)
<div id="content" ng-app="EventsApp">
<div ng-view></div>
<%= yield %>
</div>
Edit: Как было предложено, я переехал ng-app
и ng-view
в макете и хранится только DIV внутри events.html.erb
Постарайтесь, чтобы ваш контроллер работал нормально, выполнив регистрацию строки. Как только вы уверены, что это работает, вы можете отлаживать '$ routeParams' – geckob