Rails 中的错误?关于模型继承

发布于 2024-09-13 23:28:26 字数 452 浏览 8 评论 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

可以自己尝试一下;

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

In the console:


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

You can try it yourself;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

乖乖 2024-09-20 23:28:33

ActiveRecord 使用继承的方法,您需要调用 super 以便 ActiveRecord 的内容仍然运行:

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

ActiveRecord is using the inherited method, you need to call super so the ActiveRecord stuff still runs:

class PostFather < ActiveRecord::Base
  def self.inherited(subclass)
    super(subclass)
  end
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文