Rails 怎样根据权限角色的不同,显示不同的内容

stc · 2012年06月08日 · 最后由 lb563 回复于 2012年06月08日 · 4795 次阅读

我有个下拉菜单,想把里面的 list 列表值保存在配置文件里,然后根据不同的登录用户显示不同的选项数目。权限角色的集合可能比较多,我不可能在代码里面挨个的判断,请问有没有什么办法?

Cancan 真心好用,can edit @topic, can show @review,完全符合人类语言的写法。

多谢@ywencn ,@kevinhua ,cancan 在这里用起来也不是很方便,因为下拉菜单页面上有很多,每个菜单里面的选项也比较多,每个都判断感觉“不爽”。我想有没有比如给菜单编号,再在某个地方配置哪个角色有哪些菜单。。。

处理过类似的情况,我的做法是将菜单的内容抽象成数组或者嵌套的数组,数组内用 hash 来表示一个菜单所需要的数据,比如 id, class, href 和 text 等。然后用一个 view helper 针对不同的用户生成不同的数组,另外一个 render_helper 方法将这个数组 render 成最终的菜单。

是的,我现在也用类似的方法来处理这种需求。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号