Rails 设计 - 如何在初始值设定项中对用户进行身份验证
Rails Devise - How to authenticate user inside initializers
一个 rails 应用程序使用外部 coupon gem 并设计阻止非管理员用户使用优惠券页面。在我的 initializer/coupons.rb 中尝试做这样的事情:
config.authorizer = proc do |controller|
if !current_user.admin?
redirect_to(request.referrer || "/")
end
end
得到这个:
main:Object
的未定义局部变量或方法“current_user”
查看 application controller's gem 显示在操作过滤器之前调用授权方初始化程序。
有什么想法吗?
我相信参考用户 models/initializers 打破了 MVC 架构原则。关于 current_user 的逻辑应该在控制器和视图中。请考虑重构您的逻辑。谢谢!
一个 rails 应用程序使用外部 coupon gem 并设计阻止非管理员用户使用优惠券页面。在我的 initializer/coupons.rb 中尝试做这样的事情:
config.authorizer = proc do |controller|
if !current_user.admin?
redirect_to(request.referrer || "/")
end
end
得到这个: main:Object
的未定义局部变量或方法“current_user”查看 application controller's gem 显示在操作过滤器之前调用授权方初始化程序。
有什么想法吗?
我相信参考用户 models/initializers 打破了 MVC 架构原则。关于 current_user 的逻辑应该在控制器和视图中。请考虑重构您的逻辑。谢谢!