Rails设计 - 如何在初始化程序内验证用户

时间:2016-07-19 16:36:42

标签: ruby-on-rails rubygems external

使用外部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会在操作过滤器之前显示授权程序初始化程序。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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