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

Model view controller 从不同的控制器Rails 4.0访问其他操作,model-view-controller,routing,ruby-on-rails-4,nested-routes,Model View Controller,Routing,Ruby On Rails 4,Nested Routes,我有一个rails应用程序,其路线是: resources :users do resources :api_keys end 现在我有了控制器和模型,所有测试都通过了——但我希望登录用户能够访问他们的个人开发中心,因此我创建了: resources :users do resources :api_keys resources :development_center end 问题是,在这里,我希望用户能够从api_密钥控制器访问方法,也就是说:我希望

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

  resources :users do
    resources :api_keys
  end
现在我有了控制器和模型,所有测试都通过了——但我希望登录用户能够访问他们的个人开发中心,因此我创建了:

  resources :users do
    resources :api_keys
    resources :development_center
  end
问题是,在这里,我希望用户能够从api_密钥控制器访问方法,也就是说:我希望用户能够从development_center控制器的show action(和view)查看(显示)、创建(创建)和销毁(销毁)他们的api密钥

换言之:

开发中心show方法应该呈现show视图,对于该用户来说,该视图应该能够创建和查看用户创建的API键

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

我不熟悉嵌套路线的概念,并且一直在阅读,但我不清楚如何:

  • 尝试访问任何用户/id/api\U密钥/路由时重定向
  • 在development\u center视图中调用api\u Key控制器操作,以允许您创建、显示和销毁自己的api密钥

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

    resources :users do
      resources :api_keys, path: '/development_center'
    end
    
    通过这种方式,您可以继续使用ApiKeysController执行这些操作(因为您使用此控制器控制对API密钥的访问,所以逻辑上应该这样做),但端点看起来像
    /users/:user\u id/development\u center