Rails 2.3.8 でポリモーフィック モデルにシードしようとしているデータがたくさんあります。すべてのデータの関連付けは、County モデルに関連付けられています。データは次のようになります。
data = Datum.create([
...
{ :value => '14389', :value_type => County, :value_id =>'3103'},
{ :value => '59013', :value_type => County, :value_id =>'3105'},
{ :value => '17117', :value_type => County, :value_id =>'3106'},
...
])
:value_type => County の値は、「String:Class の未定義のメソッド `base_class'」につながります。
データベースにシードしたいこれらの値が何万もあります。上記の値と似ていますが、郡モデル、州モデル、都市モデルに関連付けられているものがあります。これらは、データベースへのシード後に編集されない静的な値です。
モデルを :value_type フィールドにシードするにはどうすればよいですか?
(または... 私はこれに間違ってアプローチしていますか?もしそうなら、どのようにアプローチしますか?)
編集: schema.rb ファイルの関連部分:
アイザック -
create_table "data", :force => true do |t|
t.integer "value"
t.string "value_type"
t.integer "value_id"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "counties", :force => true do |t|
t.string "name"
t.integer "state_id"
t.integer "ansi_code"
t.string "ansi_class"
t.datetime "created_at"
t.datetime "updated_at"
end
私もシードで次のことを試しましたが、うまくいきませんでした(郡は引用符で囲まれています):
{ :value => '14389', :value_type => 'County', :value_id =>'3103'},