gpt4 book ai didi

ruby-on-rails - RoR : Accessing models from with application. rb

转载 作者:太空宇宙 更新时间:2023-11-03 17:13:28 24 4
gpt4 key购买 nike

我正在开发一个简单的网络应用程序,它有一个用户模型和角色模型(以及其他),以及一个包含许多 Controller 的管理部分。我想使用 before_filter 来检查 session 中用户的用户是否具有“can_access_admin”标志。

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

定义检查角色 @user = session[:user]

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

然后我将这段代码放在其中一个管理 Controller 中:

类 Admin::BlogsController < ApplicationController before_filter :check_role

定义列表 @blogList = Blog.find(:all) 结尾结束

当我尝试查看列表操作时出现此错误:

用户的未定义方法“角色”...

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

最佳答案

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

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

或类似的东西从数据库中获取用户(连同它的关联)。

最好在前过滤器中执行上述操作。

关于ruby-on-rails - RoR : Accessing models from with application. rb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/141620/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com