我正在玩我的rails应用程序中的角度。这不是一个单页应用程序,我只是在几个地方使用角度。我很难从uri获取路由参数,以便在我的资源中使用。
例如,假设我在页面/ users / 1 / posts / 2上。如何获得user_id和id(发布)?
感谢。
答案 0 :(得分:1)
您可以配置角度应用程序,将params传递给您用于该页面的控制器。
我会做一个routes.js文件做类似的事情:
App.config(['$routeProvider', function($routeProvider){
$routeProvider
.when('/your-route', {
controller: 'yourNGController',
resolve: {
params: ['$route', function($route){
params = {user_id: $route.current.params.user_id}
params.merge({post_id: $route.current.params.post_id})
return params
}]
}
})
}])
然后在您的控制器中 - “yourNGController”注入'params',您在路线中解决了。这应该将您需要的信息输入控制器。
如果使用更新版本的角度,您可能还需要包含angular-route.js,因为$ rouProvider已从核心角度组件中移除。
答案 1 :(得分:0)
我最终只使用了ui-routes,这使得这个问题变得更加轻松。
答案 2 :(得分:0)
我有一个类似的问题,它链接在这里:Passing Rails ID to Angular
我认为这个解决方案有点黑客,所以我对更好的方法感兴趣。