【发布时间】:2016-08-22 07:30:06
【问题描述】:
当我尝试播种我的应用程序时会弹出此错误。
链接到我的repo
我所做的是: - 创建了一个 Rails 应用程序 - 创建了架构中描述的四个模型
ActiveRecord::Schema.define(version: 20160823102902) do
create_table "profiles", force: :cascade do |t|
t.string "gender"
t.integer "birth_year"
t.string "first_name"
t.string "last_name"
t.integer "User_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
create_table "todo_items", force: :cascade do |t|
t.date "due_date"
t.string "title"
t.text "description"
t.boolean "completed", default: false
t.integer "TodoList_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
add_index "todo_items", ["TodoList_id"], name: "index_todo_items_on_TodoList_id"
create_table "todo_lists", force: :cascade do |t|
t.string "list_name"
t.date "list_due_date"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "User_id"
end
add_index "todo_lists", ["User_id"], name: "index_todo_lists_on_User_id"
create_table "users", force: :cascade do |t|
t.string "username"
t.string "password_digest"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
end
并且我创建的四个模型之间有一些关系,如模型文件中所述
class User < ActiveRecord::Base
has_one :profile , dependent: :destroy
has_many :todo_lists
has_many :todo_items,through: :todo_lists,source: :todo_items
end
class Profile < ActiveRecord::Base
belongs_to :user
end
class TodoList < ActiveRecord::Base
belongs_to :user
has_many :todo_items , dependent: :destroy
end
class TodoItem < ActiveRecord::Base
belongs_to :todo_list
end
当我在seed.rb文件中添加一些数据时,错误开始出现,如图所示
User.destroy_all
User.create! [
{username: "Fiorina" , password_digest: "123"},
{username: "Trump" , password_digest: "456"},
{username: "Carson" , password_digest: "789"},
{username: "Clinton" , password_digest: "abc"},
]
User.find_by!(username: "Fiorina").create_profile(first_name: "Carly" , last_name: "Fiorina" )
User.find_by!(username: "Trump" ).create_profile(first_name: "Donald" , last_name: "Trump" )
User.find_by!(username: "Carson" ).create_profile(first_name: "Ben" , last_name: "Carson" )
User.find_by!(username: "Clinton").create_profile(first_name: "Hillary", last_name: "Clinton" )
谁能向我解释这个错误是什么意思,或者我应该做什么?
【问题讨论】:
标签: ruby-on-rails ruby database activerecord rails-activerecord