使用外部coupon gem的rails应用程序,旨在阻止优惠券页面被非管理员用户使用。在我的初始化程序/ coupons.rb尝试做这样的事情:
config.authorizer = proc do |controller|
if !current_user.admin?
redirect_to(request.referrer || "/")
end
end
得到这个: 未定义的局部变量或方法`current_user' for main:Object
查看application controller's gem会在操作过滤器之前显示授权程序初始化程序。
有什么想法吗?
答案 0 :(得分:0)
我相信在模型/初始化器上引用用户打破MVC架构原则。关于current_user的逻辑应该在控制器和视图中。请考虑重构您的逻辑。谢谢!