###前提・実現したいこと
rails db:seed
でデータ挿入を完了させたい。
###発生している問題・エラーメッセージ
CarrierWaveを使ったアップロード機能があり、ファイル名の一覧を初期登録データとしてCSVを作成し、rails db:seed
でデータ挿入をしたときに、topic_filesにnameが入らない。
###Topicモデル
Ruby
1class Topic < ApplicationRecord 2 has_many :topic_files 3 accepts_nested_attributes_for :topic_files 4 validates :start_day, :end_day, presence: true 5end
###TopicFileモデル
Ruby
1class TopicFile < ApplicationRecord 2 belongs_to :topic 3 mount_uploader :name, TopicFileUploader 4end
###seeds.rb
Ruby
1CSV.foreach('db/convert_data/topic_files.csv', headers: true) do |row| 2 TopicFile.create!(topic_id: row[0], name: row[1]) 3end
###試したこと
TopicFileモデルのmount_uploader :name, TopicFileUploader
をコメントアウトした上で、rails db:seed
するとnameにデータが入ることは確認できました。
コメントアウトせずにnameにデータが入るようにするにはどのようにすればよいでしょうか?
###環境
Mac
Ruby 2.4.0
Rails 5.1.1
RubyMine
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。