当前位置:  开发笔记 > 编程语言 > 正文

RoR:使用application.rb访问模型

如何解决《RoR:使用application.rb访问模型》经验,为你挑选了1个好方法。

我正在开发一个简单的Web应用程序,它具有用户模型和角色模型(以及其他),以及包含许多控制器的管理部分.我想使用before_filter来检查会话中用户的用户是否有'can_access_admin'标志.

我在application.rb中有这个代码:

def check_role @user = session [:user]

if @ user.role.can_access_admin.nil?|| !@user.role.can_access_admin render:text =>"您当前的角色不允许访问管理区域." 返回结束

然后我在其中一个管理控制器中有这个代码:

class Admin :: BlogsController

def list @blogList = Blog.find(:all)end end

当我尝试查看列表操作时,我收到此错误:

未定义的方法'角色'为用户...

任何人都知道我必须做什么才能在application.rb中识别角色关联?(请注意,关联配置正确,@ user.role在我试图使用的其他地方工作正常)



1> MatthewFord..:

只是一个猜测,但似乎你的会话[:user]只是存储id,你需要这样做:

@user = User.find(session[:user])

或沿着这些行的东西从数据库中获取用户(以及它的关联).

在前一个过滤器中执行上述操作也很好.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有