テーブルquestions
とデータファイルがありますquestions.yml
。「質問」モデルはないと仮定します。
「questions.yml」には、テーブルからダンプされたレコードがいくつかあります。
---
questions_001:
title: ttt1
content: ccc1
questions_002:
title: ttt2
content: ccc2
yml ファイルからデータをロードし、データベースに挿入します。しかしrake db:fixtures:load
、コンテンツを「erb」テンプレートとして扱うため、使用できません。これは望ましくありません。
そこで、データを手動でロードするために、別の rake タスクを書きたいと思います。
次の方法でレコードを読み取ることができます。
File.open("#{RAILS_ROOT}/db/fixtures/#{table_name}.yml", 'r') do |file|
YAML::load(file).each do |record|
# how to insert the record??
end
end
しかし、それらを挿入する方法がわかりません。
編集:
私が試してみました:
Class.new(ActiveRecord::Base).create(record)
と
class Dummy < ActiveRecord::Base {}
Dummy.create(rcord)
しかし、データベースには何も挿入されていません