【发布时间】:2011-08-09 17:14:58
【问题描述】:
我有一个项目和权限模型。
在我的应用中,我希望有 2 个对话框,用于创建权限、修改权限和查看项目的权限。
我应该使用什么控制器/方法来不弄乱 Rails 框架的意图?
谢谢
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3
我有一个项目和权限模型。
在我的应用中,我希望有 2 个对话框,用于创建权限、修改权限和查看项目的权限。
我应该使用什么控制器/方法来不弄乱 Rails 框架的意图?
谢谢
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3
您可能需要 ProjectsController 和 PermissionsController 以保持简单,但请确保到 Permission 的路由嵌套在您的路由中:
resources :projects do |project|
project.resources :permissions
end
有时将其命名为 Projects::PermissionsController 是有利的,以确保您不会直接在权限上使用它,明确说明两者密切相关:
resources :projects do |project|
project.resources :permissions, :controller => 'projects/permissions'
end
在这种情况下,访问权限的唯一方法是为其提供项目的上下文,这也适用于路由:
link_to('Edit', project_permissions_path(@project))
【讨论】:
map.resources
resources :projects do resources :permissions end(没有项目变量),所以它对我来说有点陌生。