0

我使用 cancan 进行基于角色的授权。

在访问被拒绝时,我在 application_controller 中有这个

rescue_from CanCan::AccessDenied do |exception|
 flash[:notice] = flash_helper("Access denied.")
 render :template => "shared/access_denied"
end

问题是有时它必须生成一个 js 响应,而有时它必须生成一个 html 响应。

我想要一个条件,当它是 js 响应而不是 html 响应时执行 flash 通知。

有任何想法吗?

4

1 回答 1

1

感谢 MurifoX 为我指明了正确的方向。这段代码做到了

rescue_from CanCan::AccessDenied do |exception|
 if request.format == "text/javascript"
   flash[:notice] = flash_helper("Access denied.")
 end
 render :template => "shared/access_denied"
end
于 2013-01-11T11:42:01.463 回答