Rails以有角度的方式路线参数

时间:2013-05-28 19:08:36

标签: ruby-on-rails angularjs

我正在玩我的rails应用程序中的角度。这不是一个单页应用程序,我只是在几个地方使用角度。我很难从uri获取路由参数,以便在我的资源中使用。

例如,假设我在页面/ users / 1 / posts / 2上。如何获得user_id和id(发布)?

感谢。

3 个答案:

答案 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

我认为这个解决方案有点黑客,所以我对更好的方法感兴趣。