我只想獲得一些關於更好的方法來建模團隊/團隊成員資格的反饋。
目前,我有以下幾點:建模團隊
class User
has_many :teams, :foreign_key => "owner_id" #user owns this team
has_many :memberships #user is a member of these teams
class Team
belongs_to :team_administrator, :class_name => "User", :foreign_key => "owner_id"
has_many :memberships
class Membership
belongs_to :team
belongs_to :user
我不喜歡球隊管理員的部分,因爲我必須堅持認爲他無論是在一個會員,他擁有一個團隊。也許最好有is_administrator
財產Membership
?
這個模型的另一個問題是,我在努力尋找確定用戶A是用戶B擁有一個團隊成員的一種很好的方式。我目前在做:
Membership.first(:joins => :team, :conditions => {:id => params[:membership_id], :teams => {:owner_id => current_user}})
其中membership_id是包含用戶的成員資格,我試圖確定是屬於current_user的團隊的成員。
因此,任何人有更好的方法來模擬這種?
感謝您的諮詢!
編輯:用戶確實可以多個團隊
如果用戶只有一個團隊,您並不真正需要會員表/模型。除非會員資格是你存儲關於該用戶的信息與團隊有關的信息,那麼你應該在那裏存儲is_administrator – ErsatzRyan 2009-06-19 15:58:34
也許我應該明確說明,用戶可以讓我成爲多個團隊的成員/所有者。 – neiled 2009-06-19 16:00:07