2013-11-03 22 views
0

我有User,主鍵爲idBlog型號的主鍵爲idRails:備份在db中有很多關聯

我有一個has_many協會UserBlogBlog 一個belongs_toUser

據我瞭解,我需要手動來修改到架構。

你能提供一個關於如何做到這一點的見解嗎?

回答

0
# 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.blogsblog.user

0

你必須做你已經說過的,然後也要改變數據庫模式。您可以通過遷移更改數據庫模式。您缺少的步驟是=>您需要將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