Ruby on Rails 3 : “superclass mismatch for class …”

后端 未结 5 1034
长发绾君心
长发绾君心 2020-12-02 16:43

Platform: Mac OSX 10.6

In my terminal, i start the Ruby console with \"rails c\"

While following the Ruby on Rails 3 tutorial to build a class:



        
5条回答
  •  遥遥无期
    2020-12-02 17:25

    This can also happen as such:

    # /models/document/geocoder.rb
    class Document
      module Geocoder
      end
    end
    
    # /models/document.rb
    require 'document/geocoder'
    
    class Document < ActiveRecord::Base
      include Geocoder
    end
    

    The require loads Document (which has a superclass of Object) before Document < ActiveRecord::Base (which has a different superclass).

    I should note that in a Rails environment the require is not usually needed since it has auto class loading.

提交回复
热议问题