超类不匹配 - 用于模型



我收到此错误:

app/models/result/login_failed.rb:2:in `<module:Result>': superclass mismatch for class LoginFailed (TypeError)

看来这app/models/result/login_failed.rb

module Result
  class LoginFailed < Failed

不知何故与此lib/services/providers/errors/login_failed.rb相冲突:

module Services
  module Providers
    module Errors
      class LoginFailed < StandardError

我尝试将模型更改为此模型,但出现相同的错误。

class Result::LoginFailed < Failed

如果我更改模型名称,错误就会消失。 我不明白为什么 - 考虑到名称间距 - 名称会碰撞。 如何在不将模型重命名为意义较小的名称的情况下防止冲突?

问题不是与错误密切相关。 文件app/models/result/some_other_result.rb:

module Result
  class LoginFailed < Failed

我正在快速重构一点。 有些日子我想念编译器。

最新更新