繁体   English   中英

Rails Devise-如何在初始化程序中对用户进行身份验证

[英]Rails Devise - How to authenticate user inside initializers

使用外部优惠券gem的 Rails应用程序,旨在阻止非管理员用户使用优惠券页面。 在我的initializer / coupons.rb中尝试执行以下操作:

  config.authorizer = proc do |controller|
      if !current_user.admin?

        redirect_to(request.referrer || "/")
      end
  end

得到这个:main:Object的未定义局部变量或方法“ current_user”

看一下应用程序控制器的gem,可以看到授权筛选器在动作过滤器之前被调用。

有什么想法吗?

我相信在模型/初始化程序上引用用户会破坏MVC架构原则。 关于current_user的逻辑应该在控制器和视图中。 请考虑重构您的逻辑。 谢谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM