微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Rails 4.2 uniquenness.rb:55 in find_finder_class_for error undefined method `abstract_class?'对于零:NilClass

如何解决Rails 4.2 uniquenness.rb:55 in find_finder_class_for error undefined method `abstract_class?'对于零:NilClass

我正在将 rails 从 v4.0.13 更新到 v4.2.11.3,当我要保存某个对象时,出现以下错误

导轨控制台: User.new.save

错误: NoMethodError: undefined method abstract_class?' for nil:NilClass from /.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/activerecord-4.2.11.3/lib/active_record/validations/uniqueness.rb:55:in block in find_finder_class_for'

这是https://github.com/rails/rails/blob/main/activerecord/lib/active_record/validations/uniqueness.rb中的方法

     def find_finder_class_for(record)
       class_hierarchy = [record.class]

       while class_hierarchy.first != @klass
         class_hierarchy.unshift(class_hierarchy.first.superclass)
       end

       class_hierarchy.detect { |klass| !klass.abstract_class? }
     end

有人帮我吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。