比方说,我有一个有多个模型的应用程序:帖子,博客,待办事项等,我想要一个管理员来编辑,删除所有用户的帖子,博客,待办事项,我是为每个人创建一个嵌套的管理控制器,还是使用声明性授权来设置一个可以编辑/销毁用户,帖子等的管理员帐户?
我知道这没有正确的答案,我只是在寻找最简单和DRYest的方式来做它。
谢谢
发布于 2010-02-04 23:44:28
声明授权与您组织管理情况的方式完全不同。对于相同的问题,这些并不是不同的选择。您如何授权操作或执行访问控制与您的管理界面是使用嵌套控制器和不同的界面,还是使用与普通用户相同的界面以及多几个按钮无关。
这就是说,我将尝试一下你想问的问题:你的管理界面是否应该与你的用户界面相同,但要有更多的按钮来进行管理操作?
我的回答是,即使是最简单的网站也不会。想象一下,你不得不通过访问每一篇文章来清除博客上每一篇文章中的垃圾邮件。
现在想象一下,如果您有一个按日期排列的注释表。
你要选哪个?
现在,如果你决定你的管理员应该有一个适合他们需要的自定义界面,那么你需要询问它是否应该嵌套。
发布于 2010-02-04 01:52:31
我不是rails专家,但我认为这篇文章很好:http://www.contextualdevelopment.com/articles/2008/nested-controllers-and-resources它指出了在您所描述的管理上下文中使用嵌套控制器的一些优点。
如果我没理解错的话,在这两种情况下,您都需要一个具有管理员角色的用户,对吧?所以可能更多的是关于如何构造控制器。嵌套的控制器设置imho更简洁一些,因为它在“主”控制器中保存了几个条件。您只需将所有"admin“内容放入嵌套的控制器中,并将其他所有内容放入主控制器中。
https://stackoverflow.com/questions/2191764
复制相似问题