最近,我将我正在维护的 Rails 应用程序升级到 Rails 6 RC2(来自 5.2.3)。因此,在升级之后,我立即运行了自动化测试 (RSpec),并且测试输出给了我很多弃用警告。其中一个警告是:
DEPRECATION WARNING: render file: should be given the absolute path to a file
所以我去了触发警告的视图文件,并进行了如下更改,
前:
render file: 'devise/sessions/new'
后:
render file: Rails.root.join('app', 'views', 'devise', 'sessions', 'new.html.slim')
我再次运行测试,没有看到弃用警告的输出。但是,切换到绝对路径后,视图现在只呈现纯 HTML 代码,但如果我删除.slim
扩展名,即
render file: Rails.root.join('app', 'views', 'devise', 'sessions', 'new.html')
相应的视图已正确呈现,但现在测试将抱怨未使用绝对路径。有没有办法解决这个问题,或者这是一个 Rails/Slim 错误?