如何将参数发送到之前的过滤器?

Eth*_*han 10 ruby ruby-on-rails

我想在我的应用程序控制器中创建一个before_filter方法,就像这样......

def check_role(role_name)
  unless logged_in_user.has_role? role_name
    flash[:notice] = 'Access to that area requires additional privileges.'
    redirect_to :back
  end
end
Run Code Online (Sandbox Code Playgroud)

但是,在过滤器可以获取参数之前,它看起来并不像.

有没有办法参数化这个调用,或者我是否想用锤子驱动螺丝?

Gre*_*ell 18

您应该可以使用块来执行此操作:

before_filter {|controller| controller.check_role('admin') }
Run Code Online (Sandbox Code Playgroud)