2016-11-24 130 views
0

我有以下型號:belongs_to在Rails 5中創建關聯嗎?

class User 
    has_many :items 
end 

class Item 
    belongs_to :user 
end 

create_tableitems我:

t.belongs_to :person 

我用Rails 5,我看到這個自動創建person_iditems表中的索引。但是,根據這個SO thread,這不應該發生。

答案是不正確的,或者這是添加到Rails 5(或某些Rails 4.x版本)?

+0

'person_id'在遷移和類是用戶。這是正確的嗎?因爲如果是這樣,這改變了事情。 – lcguida

回答

2

是否belongs_to在Rails 5中創建關聯?

是的。

belongs_toreferences一個別名,它:

  • 創建在itemsperson_id柱;
  • person_id列上加上索引。
+0

但它不在Rails 4中,對吧? – anemaria20

+0

@ anemaria20我不記得,也不能檢查我離開筆記本電腦。你可以檢查相應的軌道4文檔或測試它,因爲我會做:) –

0

它不應該。

As @Andrey提到,belongs_toreferences的別名。如果你按照文檔,你會發現references內部使用connection.add_reference。在connection.add_reference文檔,你可以看到options,及旺角他們index

:index 

    Add an appropriate index. Defaults to false. 

    See add_index for usage of this option. 

所以,默認情況下,index選項,這增加了索引數據庫設置爲false。您應該明確地將其設置在references中。

相關問題