: : 也還是不太理解為何資料表如何被增加欄位,
: 因為並沒有看到has_many/belongs_to的關聯法需要做db:migrate
: 其實很想說
: 你在這邊問了問題
: 有沒有試著建過has_many的model試過
: 其實你的問題如果有試過應該會解決一部份
: 像migration
: 如果沒對應欄位
: console測試時就會跳找不到欄位的錯誤
: 你應該就會知道答案了
Oh 感謝, 我重做一次後我發現問題了, 因為網上教學的範例中,
它之前在migration內有輸入了, 當時按照範例走但忘了有加過這行, 不知道為何要加
add_column :events, :category_id, :integer
add_index :events, :category_id
做到後面將model內做has_many/belongs_to的關聯時, 已經利用到了前面所建的FK
因此自然可以運作了, 忘記之前在migration中其實已經有加過FK了
讓我一直以為has_many/belongs_to真的那麼神
後來做第二次時沒先建立FK就的確報錯了!增加FK後也正常了!謝謝!!
但不太理解有些範例做的時候是add_column :events, :category_id, :integer
有些範例教學是用t.reference
不確定何者比較好呢? 中間有什麼差別嗎?
謝謝!!