我有User
,主鍵爲id
,Blog
型號的主鍵爲id
。Rails:備份在db中有很多關聯
我有一個has_many
協會User
到Blog
和Blog
一個belongs_to
到User
。
據我瞭解,我需要手動來修改到架構。
你能提供一個關於如何做到這一點的見解嗎?
我有User
,主鍵爲id
,Blog
型號的主鍵爲id
。Rails:備份在db中有很多關聯
我有一個has_many
協會User
到Blog
和Blog
一個belongs_to
到User
。
據我瞭解,我需要手動來修改到架構。
你能提供一個關於如何做到這一點的見解嗎?
# app/models/user.rb
class User < ActiveRecord::Base
has_many :blogs
end
# app/models/blog.rb
class Blog < ActiveRecord::Base
belongs_to :user
end
# db/migrate/20131103182551_add_user_id_to_blogs.rb
class AddUserIdToBlogs < ActiveRecord::Migration
def change
add_column :blogs, :user_id, :integer
end
end
然後運行rake db:migrate
。然後您可以致電user.blogs
或blog.user
。
你必須做你已經說過的,然後也要改變數據庫模式。您可以通過遷移更改數據庫模式。您缺少的步驟是=>您需要將user_id的外鍵添加到博客(您通過遷移完成此操作)或添加屬於關係
您可以使用'rails generate migration'創建遷移,命令
rails generate migration add_column :blogs, :user_id, :integer
OR
rails generate migration change_table :blogs, :belongs_to, :user
遷移的結果應該添加USER_ID的外鍵博客或者應該增加用戶和博客之間的belongs_to的關聯。
查找您在數據庫遷移的結果/遷移文件夾
然後運行
rake db:migrate