我正在構建一個Rails應用程序來跟蹤組成員之間的開銷/債務,比如說一個家庭。到目前爲止,我有團隊,用戶和費用模型 - 基礎知識。現在我試圖找出組和用戶之間的關聯。例如,一個組可以有許多用戶,並且一個用戶可以擁有/屬於多個組,所以我使用一個連接表來設置HABTM關聯。但我很困惑,因爲一個集團也可以有一個所有者,也是一個用戶。這就是我現在:Rails - 對同一模型的多個關聯
class Group < ActiveRecord::Base
has_and_belongs_to_many :users
has_one :owner, :class_name => "User"
end
class User < ActiveRecord::Base
has_and_belongs_to_many :groups
end
有目前在集團表中的owner_id場,但我發現了一個PostgreSQL錯誤column users.group_id does not exist
當我嘗試做任何事情涉及group.owner
。我相當迷茫 - 在這裏最好的方式來表示多個關聯到同一模型的任何想法?
'HABTM'已經意味着該組有許多用戶,對吧?所以這些用戶中的一個也必須是「所有者」。你可以做的就是使用'has_many:through',並用一個字段來指定組的所有者。 – Zabba 2012-03-19 21:59:05