gpt4 book ai didi

ruby-on-rails - CanCan - "user"参数为 nil - Rails 4

转载 作者:数据小太阳 更新时间:2023-10-29 07:23:46 25 4
gpt4 key购买 nike

我正在使用 Rails 4.0.1 和 ruby​​ 2.1.1。我正在尝试将 cancan 与 rails_admin 集成。我的 application_controller.rb 看起来像这样

helper_method :current_user

private

def current_user
@current_user ||= User.find_by(email: session[:user_id]) if session[:user_id]
end

我的 current_user 辅助方法在应用程序的其余部分工作正常。我的 ability.rb 看起来像这样

class Ablity
include CanCan::Ability

def initialize(user)
if user
can :access, :rails_admin
end
end
end

控件根本不会进入 if 条件,这意味着“user”参数为“nil”。当我尝试访问 rails_admin 时,出现了 CanCan::AccessDenied 异常。我哪里错了?

编辑:我没有使用设计进行身份验证

更新:我已将 cancan 替换为 cancancan 1.8 版。还是不行

最佳答案

已解决。在 config/initializers/rails_admin.rb 中,我们必须将 current_user_method 指定为

config.current_user_method { current_user } # refers to the current_user helper method in my case

现在一切正常。我很惊讶为什么没有在文档中的任何地方指定这一点。

关于ruby-on-rails - CanCan - "user"参数为 nil - Rails 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23677534/

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