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

你可以自己尝试;

有帮助吗?

解决方案

ActivereCord正在使用继承的方法,您需要调用Super,因此ActivereCord仍然运行:

class PostFather < ActiveRecord::Base
  def self.inherited(subclass)
    super(subclass)
  end
end
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top