从 Rails 6 升级到 7 后,我在尝试测试之前工作正常的邮件程序时遇到此错误。
NoMethodError (undefined method `preview_path=' for ActionMailer::Base:Class
Did you mean? preview_paths=
preview_paths
_view_paths=):
我查了一下,我知道preview_path已被弃用,取而代之的是preview_paths,但我没有在代码中的任何地方使用preview_path,并且我尝试删除与我的邮件程序相关的所有gem,例如letter_opener。这表示错误来自 ActionMailer::Base:Class 但不应该使用它自己的更新方法吗?我在网上找不到与此错误相关的任何内容,这让我发疯!这就是我的邮件程序中的所有内容,它从第一行类 ApplicationMailer 中引发了错误< ActionMailer::Base:
class ApplicationMailer < ActionMailer::Base
add_template_helper(EmailHelper)
default from: 'Test'
layout 'mailer'
end
评论中的 @dbugger 帮助我意识到,我将 rspec 从 5.0.3 更新到 7.0.1,这解决了问题。