我需要在应用程序控制器中为activeadmin和devise控制器实现before_action
回调。对于设计控制器,我可以做类似的事情:
before_action :some_callback, if: :devise_controller?
如何为activeadmin控制器执行相同的操作?我试图制作一个方法:
def active_admin_controller?
if params[:controller] =~ /^admin\//i
true
end
end
但它不起作用。有关如何达到预期结果的任何想法?谢谢。
答案 0 :(得分:2)
我找到了解决方案,只需将条件放入数组:
before_action :some_callback, unless: [:devise_controller?, :active_admin_controller?]
另外,更改了active_admin_controller?
方法:
def active_admin_controller?
if request.filtered_parameters['controller'] =~ /^admin\//i
true
else
false
end
end