我开始讨论Rails &有几个高级问题,通常围绕用户,他们的卷以及如何构建或布局新的Rails应用程序。我真的只是寻找不同的想法(或对我未尝试过的未受过教育的猜测进行验证)和他们的利弊&缺点。Rails:使用会话,Cookies或命名空间划分用户,管理员等
一个新的项目将有用户,管理员和,让我们给他们打电话,利益相关者。
这些显然都是人,每个人都需要登录,并且会有不同的“滚动”。我知道有很多方法可以解决这个问题,但我正在寻找“Rails”方式来尽可能多地利用所谓的“Convention Over Configuration”。
- 管理员拥有超能力,可以看到&去任何地方
- 利益相关者只能更改自己的网站的区域
- 用户(也许有一个更好的名字,因为所有角色在某种意义上, '用户')只能查看由利益相关者创建的内容 ,并且 可以对其进行选择性评论。
所以,如何处理好这个...
登录:使用一个登录表单,然后分配不同的卷?或发送用户到一个登录和管理员,到另一个等...?优点缺点?我想维护一个用户类比分裂它们更容易......但安全性呢?
路线:
为了避免嵌套路由(其中许多建议反对),我想利益相关者只看到自己的“赌注”。所以当他们登录时,他们会立即看到他们的小区域。想知道如果不是/ stakeholder/stakeholder_id /赌注/新的,也许我可能只是/赌注/新的。这是如何处理的?在用户?在会议中?曲奇饼?
那么管理员呢?我见过这个卷的例子移动到它自己的“命名空间”(我认为?)其中所有管理任务都预先添加/ admin/...这是常见的吗?或者,还有更好的方法?
而且,最后,在更高的卷(
admin
或stakeholder
)想“共享”的视图或控制器,或任何为此事代码,由一个较小的卷(user
)使用,会发生什么?如果admin
拥有自己的控制器,则admin/
下的型号为&,那么使用/stake/new
还是我们还需要维护/admin/stake/new
?
对不起,我的困惑&详细。任何帮助,或例子/文件,将不胜感激...
建议您在railscasts.com上搜索授权。一旦您查看了许多授权库,就可以轻松解决一些基本问题。祝你好运。 – aceofspades 2010-12-10 20:58:17
我知道授权是自行开发的还是** authlogic **或** devise **等等......我*不知道的是它们如何与应用程序本身的结构相关联。现在,我还没有*使用*一个,但是,当我阅读每个人的文档时,这可能会变得很清楚?或者可能是所有人使用的“标准”总体方法(Rails的方式),我想这就是我所问的... – Meltemi 2010-12-10 21:08:22
与他们一起玩,就像全面的建议。一旦你做到了,它会变得更清晰。对于诸如利益相关者之类的东西,仅仅将查询范围限制在当前登录的利益相关者中是很简单的。即只需致电@ current_stakeholder.stakes.new等。 – Doon 2010-12-10 21:19:06