[英]How can I make my Rails app return a 500 status for assets that do not compile due to an error?
我希望能夠編寫一個測試來確保我的SCSS資產之一可以成功編譯,但是要通過匹配響應主體來可靠地做到這一點是很困難的。 我只希望能夠在訪問資產的URL時檢查響應代碼,但是即使對於有錯誤編譯的資產,我的應用似乎也能成功返回200狀態代碼。 觀察:
$ curl -i http://domain/assets/my_asset.css
HTTP/1.1 200 OK
Content-Type: text/css;charset=utf-8
Content-Length: 1153
但是,我的日志清楚地表明資產無法編譯為OK:
Error compiling asset my_asset.css:
Sass::SyntaxError: Undefined variable: "$var".
Served asset /my_asset.css - 500 Internal Server Error
而且資產主體確實包含錯誤消息,因此我知道它正在提供“不良”資產,但是狀態代碼不能反映這一點。
在這種情況下,有什么方法可以使我的應用返回500?
Curl用於從服務器傳輸數據或向服務器傳輸數據。 如果存在相同文件的先前版本,則僅獲取數據。
如果您想知道資產新版本的狀態,然后為創建的資產添加唯一標識,或者必須在創建新編譯之前刪除前一個資產(並確保相同服務器的緩存已過期)資產)。
希望這可以幫助。
問候,HBK
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.