2013-01-11 34 views
0

我使用cancan進行基於角色的授權。如果js而不是html,則執行flash消息

不可訪問,我有這樣的application_controller

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

的問題是,有時它有可能產生一個js響應和其他時間的HTML響應。

我想要一個條件來執行Flash通知,當它是一個JS響應,而不是當它是一個HTML響應。

任何想法?

+1

我相信'請求'對象上有一個屬性有這種信息。我只是不記得是哪一個。 – MurifoX

回答

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 
+1

不錯的一個。 'request.format'它是! – MurifoX

相關問題