2013-05-05 127 views
1

我還是相當新的Ruby on Rails和我有關聯,例如,如果一個表的has_many工作:事實,或belongs_to的:列表中,Ruby on Rails的:用戶模型關聯的應用和遷移

做我們也和用戶打交道?對於用戶模式:

has_many :lists 

,然後在列表模式應該有

belongs_to :user 

現在,這是否意味着我需要在表中創建一個新列?現在我只有電子郵件和password_digest。我是否需要添加新遷移以添加新列list_id。我已經做了rake db:migrate。我可以只是簡單地在遷移文件中添加一列嗎?

感謝

+1

我建議谷歌搜索「rails migrations」並在第一個鏈接之後。當你在那裏時,請閱讀Active Record Associations指南。 – 2013-05-05 17:55:55

回答

2

是的,你必須創建一個新的列,如果你已經運行遷移,你必須創建一個新的。

但是,這是必須有user_id的列表。

+0

謝謝,當我創建一個新的遷移時,rails如何知道使用哪個表?例如,如果我說'rails g遷移AddUserIdColumnToLists user_id:整數'或'rails g遷移AddIdToLIsts user_id:integer',將rails關心這個名字嗎?這是什麼命名約定?我不知道如何軌道知道如何將用戶ID放在表列表 – hellomello 2013-05-05 18:41:45

+1

窗體應該是'AddXXXToYYY'爲了讓軌道瞭解你想添加列的位置。更多信息請訪問http://guides.rubyonrails.org/migrations.html – 2013-05-05 18:48:29