Model view controller 从不同的控制器Rails 4.0访问其他操作
我有一个rails应用程序,其路线是: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_密钥控制器访问方法,也就是说:我希望
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-相反,它应该将您重定向到该用户的开发中心显示方法
我不熟悉嵌套路线的概念,并且一直在阅读,但我不清楚如何:
如果唯一的问题是您不喜欢URL中的
api\u键
,那么您可以更改路由配置中的路径:
resources :users do
resources :api_keys, path: '/development_center'
end
通过这种方式,您可以继续使用ApiKeysController执行这些操作(因为您使用此控制器控制对API密钥的访问,所以逻辑上应该这样做),但端点看起来像/users/:user\u id/development\u center