複数のデータモデルを持つ.ymlファイルをどのようにシードするのか、実際には相互に関連しています。私が持っているものだruby on rails seed .ymlファイルに関連付けられたモデルを持っています
:
project.rb
class Project < ActiveRecord::Base
has_many :todos
end
todo.rb
私のデータスキーマ:
create_table "projects", force: :cascade do |t|
t.string "title"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
create_table "todos", force: :cascade do |t|
t.string "text"
t.boolean "isCompleted"
t.integer "project_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
seeds.rb(それOFC動作しません)
seed_file = File.join(Rails.root, 'db', 'seeds/seeds.yml')
config = YAML::load_file(seed_file)
Project.create(config["projects"])
種/ seeds.yml
projects:
- title: 'family'
todos:
- text: 'Get some milk'
isCompleted: false
- text: 'Cook some bacon'
isCompleted: true
- text: 'Repair the front door'
isCompleted: false
- title: 'work'
todos:
- text: 'Call my boss'
isCompleted: true
- text: 'Finish my work tasks'
isCompleted: true
- text: 'Get fired'
isCompleted: false
- title: 'therest'
todos:
- text: 'Do something'
isCompleted: false
- text: 'Ask a question on stackoverflow'
isCompleted: false
は、誰かが、私はそれが正常に動作させるために何をすべき、私にしてください教えてもらえます。私はseeds.yml
のこの種類のデータを正確に使用する必要があります。私はprojects
とtodos
という2つの異なる.ymlファイルを作成して動作させる方法を知っていますが、これは私の問題を解決する方法ではありません。
ご希望でしたら、それをしてください! :)しかし、それはどんな意味ですか?私がたくさんの.ymlファイルを持っていれば、これを1つのフォルダに入れるのはどうでしょう?) – NanoBreaker
そういう場合、ymlファイルは意味がありますが、最後には "Model.create"を行うためのハッシュがたくさんあり、それらのハッシュをseeds.rbの中に直接書くことができます。 ところで、テスト用の什器を使用しないで、代わりにFactoryGirlを使用してください。 – aarkerio