我使用rack-cors在我們的API請求中添加CORS響應標頭。如何在引發異常時保留響應標頭?
當請求成功(200)時它工作正常。但是,當應用程序通過authenticate_user!
(401)引發ActiveRecord::RecordNotFound
(404)或devise /無效憑證的異常時 - 它不會響應CORS響應標頭。
它不僅與機架。在引發異常之前,它不會響應添加的任何自定義頭文件。
最大的問題是在客戶端(瀏覽器),因爲代替示出基於狀態碼的適當的錯誤,它示出了:
的XMLHttpRequest不能加載http://development.com:4000/orders/1。請求的資源上沒有「Access-Control-Allow-Origin」標題。原因'http://development.com:3000'因此不允許訪問。
如果我手動發現異常rescue_from
和render json: {}, status: 500
,它會響應標題。
您需要啓用'CORS' 看到這個問題 http://stackoverflow.com/questions/17858178/allow-anything通過Cors政策 – OneChillDude
@BrianWheeler它是由機架啓用。 –