我正在使用带有CanCan gem的Rails 3。模型Users
和Networks
是has_many :through => Roles
。这部分工作正常。
目前我正在使用CanCan,因此在/ networks页面上,如果用户有权访问它,它将只显示网络。这也很好。
我知道CanCan可以与嵌套资源结合使用,但是/ users / 1 / networks的路由是多余的?可选的?鼓励? REST风格的? Rails的-Y?有什么特别的理由吗?我只希望用户能够看到他们有权访问的网络,但是如果我已经将网络索引用作过滤器,则不确定嵌套资源是否更合适。
答案 0 :(得分: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