我真的不明白如何播放一个包含多个数据模型的.yml文件,加上它们是相互关联的。
这就是我所拥有的:
project.rb
class Project < ActiveRecord::Base
has_many :todos
end
todo.rb
class Todo < ActiveRecord::Base
belongs_to :project
end
我的数据架构:
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
创建两个不同的.yml文件并使它们正常工作,但这不是方法我想解决我的问题。
答案 0 :(得分:0)
帮自己一个忙,删除seeds.yml文件并在seed.rb中创建所有内容
答案 1 :(得分:0)
看起来您需要将模型分成单独的夹具文件。虽然它说通过YML&amp; amp; seed.rb工作流程:
http://guides.rubyonrails.org/testing.html#the-low-down-on-fixtures
我建议使用备用路由来为您的数据库设定种子,除非这是必须遵循的业务要求。如果您回答,可以提供更多帮助: