seed.rb で STI の子モデルを作るときに余計な type 属性の指定がある
Closed this issue · 0 comments
5t111111 commented
db/seeds.rb の以下の 4 行目の箇所で roles
テーブルの STI で Candidate
と Voter
のレコードを作っているが、レシーバがそれぞれのクラスになっているためそれらの type
は明白であり自動的に判定されるので明示的に指定する必要はない。
というか上位バージョンの Rails では type
などの inheritance_column
を create
(create!
) に指定したらエラーとなってしまう (どのバージョンからかは未確認) 。
Member.all.map do |member|
%w(candidate voter).map {|klass| klass.classify.constantize }
.each do |klass|
klass.create!(member_id: member.id, type: "#{klass}")
end
end