1

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 が必要です。その作成方法は? これはバグですか?


もう一度テストしたところ、テーブルに「タイプ」列が指定されていない場合は機能しましたが、「タイプ」列がある場合は失敗しました。


「タイプ」列を持つ「親」という名前のテーブルが 1 つだけあります。


私の環境: rails-3.0.0.beta3, ruby​​-1.9.2-pre

4

1 に答える 1

0

Sub.all DOES は、そのすべてのサブクラスのアイテムを表示します。コードを確認することをお勧めします。間違いなくバグではありません。

于 2010-08-31T07:32:54.777 に答える