如何在rails应用程序的角度控制器中获取url params?

时间:2015-05-28 09:27:27

标签: angularjs ruby-on-rails-4

我在我的rails app中有这个网址:

http://localhost:4000/en/events/sunrise-trip/dashboard

如何在AngularJs控制器中使用事件id参数?

我的app.coffee文件:

@app = angular.module('myApp', [
  'templates'
])

@app.config([
  '$httpProvider', '$ngRoute', ($httpProvider)->
    $httpProvider.defaults.headers.common['X-CSRF-Token'] = $('meta[name=csrf-token]')
])
@app.run(->
  console.debug 'angular running'
)

我的凉亭文件

asset 'bootstrap'
asset 'moment'
asset 'lodash'
asset 'angular'
asset 'angular-route'

我的rails app.js文件

//= require jquery
//= require jquery_ujs
// require select2
//= require angular
//= require angular-route
//= require bootstrap

我想要达到的目标就像是

@app.controller "ticketsCtrl", ($scope, $routeParams)->
  $scope.event = SomeEventService.retrieve($routeParams.eventId)

1 个答案:

答案 0 :(得分:0)

操纵您需要的网址ngRoute中的值。因此,您需要在应用程序中使用angular-route。然后你可以将$routeParams注入你的控制器。

假设你有一个像.when('paramas/:paramId1/:paramId2')这样的网址,你可以使用以下内容来访问参数

function MyController($scope, $routeParams) {
    console.log($routeParams.paramId1);
    console.log($routeParams.paramId2)
};