从不同的控制器Rails 4.0访问其他操作



我有一个rails应用程序,它的路线是:

  resources :users do
    resources :api_keys
  end

现在我有了控制器和模型,所有的测试都通过了——但我想让一个登录的用户去他们的个人开发中心,所以我创建了:

  resources :users do
    resources :api_keys
    resources :development_center
  end

问题是,在这里,我希望用户能够从api_keys控制器访问方法,也就是说:我希望用户可以从development_center控制器的show操作(和视图)查看(显示)、创建(创建)和销毁(销毁)他们的api密钥。

换句话说:

developmentcentre show方法应该呈现show视图,对于该用户,该视图应该能够创建和查看用户创建的API的键。

我还想阻止您在浏览器中导航到site.com/users/id/api_keys/id——相反,它应该将您重定向到该用户的development_center-show方法。

我是嵌套路由概念的新手,一直在阅读有关路由的文档,但我不清楚如何:

  1. 当您尝试访问任何用户/id/api_keys/route时重定向
  2. 在developmentcenter视图中调用apikeys控制器操作,以允许您创建、显示和销毁自己的api密钥

如果唯一的问题是您不喜欢URL中的api_keys,那么您可以更改路由配置中的路径:

resources :users do
  resources :api_keys, path: '/development_center'
end

通过这种方式,您可以继续使用ApiCaseController执行这些操作(因为从逻辑上讲,您应该使用此控制器控制对API密钥的访问),但端点看起来像/users/:user_id/development_center

最新更新