1
用戶/客戶模式,我有Account
和User
一個簡單的設置:設計與業主
class Account < ActiveRecord::Base
has_many :users
end
accounts
--------
id
name
...
。
class User < ActiveRecord::Base
belongs_to :account
end
users
-----
id
account_id
username
...
現在,我該如何設計出一個Account
有一個「老闆」(即在帳戶擁有完全權限的用戶)。我能想到的選項:
- 在用戶上添加一個布爾字段,調用
account_owner
? (對我不舒服) - 在
accounts
表上添加一個字段,名爲user_id
,從而造成一種雞與雞的問題。 - 還有別的嗎?角色?
是的,我已經想到了這一點 - 它是選項#2以上(雖然不是顯示belongs_to的調用) – Zabba
是啊,我不明白爲什麼有一個雞和蛋的問題雖然。你可以解釋嗎? –
事實上,如果我要這樣做,「正確」的方式,即每個帳戶*必須*擁有一個所有者和每個用戶*必須*屬於一個帳戶,那麼相應的'user_id'和'account_id'不能爲NULL在數據庫級約束中,因此兩者都不能被創建,因爲一個是另一個需要的。但是如果我使用這種方法,並且不需要'user_id'的非NULL值,它會簡化事情。我可能會過度考慮這一點。分析癱瘓! – Zabba