2015-06-30 45 views
0

我有4個模型,我不知道什麼是寫我的關係/協會的正確方法。如何在Rails中正確編寫我的關係/關聯?

class User < ActiveRecord::Base 
    has_many :boards 
    has_many :lists 
    has_many :cards 
end 

class Board < ActiveRecord::Base 
belongs_to :user 
has_many :lists 
end 


class List < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :board 
    has_many :cards 
end 

class Card < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :list 
end 
+0

這看起來好像沒什麼問題。你能詳細瞭解你需要他們如何行事或目前沒有工作嗎? – PhilVarg

回答

0

如果你想更明確的瞭解你的人際關係,隨時做(首選在大多數所有情況下)以下:

class User < ActiveRecord::Base 
    has_many :boards, inverse_of: :user, dependent: :destroy 
    has_many :lists, inverse_of: :user, dependent: :destroy 
    has_many :cards, inverse_of: user, dependent: :destroy 
end 

class Board < ActiveRecord::Base 
belongs_to :user, inverse_of: :boards 
has_many :lists, inverse_of: :board 
end 


class List < ActiveRecord::Base 
    belongs_to :user, inverse_of: :lists 
    belongs_to :board, inverse_of :lists 
    has_many :cards, inverse_of :list 
end 

class Card < ActiveRecord::Base 
    belongs_to :user, inverse_of: :cards 
    belongs_to :list, inverse_of :cards 
end 

最後,確保你的任何模型依賴的(例如Boardbelongs_toUser)在其表中具有適當的外鍵。因此,例如,Board將需要有一個user_id外鍵才能正確創建關聯。

,如果您還沒有像這樣您可以創建任何這些實體的遷移:

rails generate migration AddUserRefToBoards user:references

相關問題