ActionView::Template::Error: Error: "env(safe-area-inset-right)" is not a number for `max' in Rails Test

ActionView::Template::Error: Error: "env(safe-area-inset-right)" is not a number for `max' in Rails Test

我刚刚在我的 rails 项目中安装了 fancyapp/fancybox@3.5.7。我想覆盖 fancybox 中的一些 css 规则,所以我需要 @fancyapps/fancybox/dist/jquery.fancybox.css 并且它在浏览器中运行良好。

但是,每次我 运行 rails test,我都会收到此错误

UsersControllerTest#test_should_get_new:
ActionView::Template::Error: Error: "env(safe-area-inset-right)" is not a number for `max'
        on line 485:23 of node_modules/@fancyapps/fancybox/dist/jquery.fancybox.css, in function `max`
        from line 485:23 of node_modules/@fancyapps/fancybox/dist/jquery.fancybox.css
        from line 2:9 of app/assets/stylesheets/code.scss
>>         padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(sa
   ----------------------^

网上甚至SO上的一些解决方案建议添加一个sass函数定义如下:

@function max($args...) {
  @return m#{a}x(#{$args});
}

@function min($args...) {
  @return m#{i}n(#{$args});
}

但这在 rails 测试中似乎不起作用。

我正在使用

您现在可以使用 Dart-Sass Rails 而不是 Ruby Sass。