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 (将#修改为@)