0

我正在使用带有 CanCan gem 的 Rails 3。模型UsersNetworks是一个 has_many :through => Roles。这部分工作正常。

目前我正在使用 CanCan,以便在 /networks 页面上,如果用户有权访问它,它只会显示一个网络。这也很好用。

我知道 CanCan 可以与嵌套资源结合使用,但是 /users/1/networks 的路由是多余的吗?可选的?鼓励?RESTful?导轨-y?有什么特别的理由吗?我只希望用户能够看到他们有权访问的网络,但如果我已经将网络索引用作过滤器,我不确定嵌套资源是否是更合适的方法。

4

1 回答 1

0

对我来说,路线应该在使用您的应用程序的人的上下文中有意义。如果您以可以 CRUD 路由的管理员身份登录,我希望通过 /networks 完成此操作,因为您所做的与路由相关的所有事情都将发生在这里。

/networks            #list all networks
/networks/new        #add network
/networks/1          #show network
/networks/1/edit     #edit network

然而,从用户的角度来看,他们能够将自己添加/删除到新网络或查看他们所在的网络是有意义的。

/users/1/networks         #show networks user is in
/users/1/networks/add     #add self to network
/users/1/networks/delete  #remove self from network
于 2012-07-31T01:24:34.980 回答