这是rails中的一个错误?关于单表继承;

时间:2010-08-31 05:21:52

标签: ruby-on-rails single-table-inheritance


class Parent < ActiveRecord::Base
end

class Sub < Parent
end

class SubSub < Sub
end

>> SubSub.create :name => 'name1'
>> SubSub.create :name => 'name2'
>> SubSub.create :name => 'name3'

然后


>> SubSub.all.map{|x| x.name}    # => ['name1', 'name2', 'name3']
>> Sub.all.map {|x| x.name}      # => []  # I was expected that it will show all items;
>> Parent.all.map { |x| x.name}  # => ['name1', 'name2', 'name3']

我需要Sub.all来显示其所有子类的项目,如何制作它?这是一个错误吗?


我再次测试过,当表中没有指定'type'列时它确实有效,但是当'type'列没有时就失败了。


只有一个名为'parents'的表格带有'type'列;


我的环境:rails-3.0.0.beta3,ruby-1.9.2-pre

1 个答案:

答案 0 :(得分:0)

Sub.all DOES显示其所有子类的项目。我建议你检查你的代码。绝对不是一个错误。