我真的不知道如何爲其中有多個數據模型的.yml文件播種,再加上它們是相互關聯的。ruby on rails種子.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
製作兩個不同的.yml文件並使它們正常工作,但這不是我想要解決問題的方式。
如你所願,做到了! :)但它有任何意義?如果我有很多.yml文件,如果將它們全部放在一個文件夾中,這會不會更好?)只是看起來更好。 – NanoBreaker
是的,在這種情況下,yml文件是有意義的,但最後你會有很多哈希來做「Model.create」的東西,你可以直接在seeds.rb中寫這些哈希。 順便說一句,不要使用燈具進行測試,而應使用FactoryGirl。 – aarkerio