繁体   English   中英

如何使我的Rails应用针对因错误而无法编译的资产返回500状态?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM