ruby-on-rails – CanCan – “user”参数为nil – Rails 4
发布时间:2020-12-17 03:56:00 所属栏目:百科 来源:网络整理
导读:我正在使用Rails 4.0.1和 ruby 2.1.1.我正在尝试将cancan与rails_admin集成.我的application_controller.rb看起来像这样 helper_method :current_userprivatedef current_user @current_user ||= User.find_by(email: session[:user_id]) if session[:user_i
我正在使用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帮助程序方法在应用程序的其余部分正常工作.我的能力.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异常.我哪里错了? 编辑:我没有使用设计进行身份验证 更新:我用cancancan 1.8替换了cancan.还是行不通 解决方法
解决了.在config / initializers / rails_admin.rb中,我们必须将current_user_method指定为
config.current_user_method { current_user } # refers to the current_user helper method in my case 现在一切都很完美.我很惊讶为什么在文档中没有指定这个. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |