0
My env: ruby-1.9.2-preview3; rails-3.0.0.beta3

class PostFather < ActiveRecord::Base
  def self.inherited(subclass)
  end
end

class Post < PostFather
end

コンソールで:


> Post.new # => TypeError: can't dup NilClass
> Post.all # => TypeError: can't dup NilClass
> Post.scoped # => TypeError: can't dup NilClass

自分で試すことができます。

4

1 に答える 1

1

ActiveRecord は継承されたメソッドを使用しています。ActiveRecord が引き続き実行されるように、super を呼び出す必要があります。

class PostFather < ActiveRecord::Base
  def self.inherited(subclass)
    super(subclass)
  end
end
于 2010-08-14T00:42:40.590 に答える