通过before_action发送参数

时间:2017-12-07 17:20:31

标签: ruby-on-rails ruby ruby-on-rails-4

我在使用before操作执行名为“can_accede”的操作(这是在我的aplication_controller中),然后访问我的索引视图,此操作将查找记录以验证用户是否可以访问我的索引视图,但是我需要向该操作发送参数以了解要查找的记录。

这是我的“can_accede”行动

def can_accede
  @can_accede = current_usuario.try(:perfiles).find_by_Descripcion(params[:Module_name]).try(:Listar)
  if @can_accede != true
    redirect_to root_path, alert: "you don't have permission."
  end
end

这是我的before_action:

before_action :can_accede, only: [:index]

可以通过before_action发送到行动can_accede parameter param [: Module_name]

1 个答案:

答案 0 :(得分:0)

此方法中将提供params对象,因此您只需拨打params[:whatever]中的can_accede即可。

FWIW,您应该查看授权gem以统一授权方法。 PunditCanCanCan是不错的选择。