0
我有一個用戶模型字段名稱和性別。用戶可以與另一個用戶建立一個稱爲「配偶」的一對一關聯,該關聯必須位於男性用戶和女性用戶之間。導軌有一個通過協會
與railscasts self-referential-association幫助我創建這樣的基本關聯,
class User < ActiveRecord::Base
has_one :spouse_list
has_one :spouse, :through => :spouse_list
has_one :inverse_spouse_list, :class_name => "SpouseList", :foreign_key => "spouse_id"
has_one :inverse_spouse, :through => :inverse_spouse_list, :source => :user
end
class SpouseList < ActiveRecord::Base
belongs_to :spouse, :class_name => "User"
belongs_to :user
end
SpouseList具有字段:spouse_id,:USER_ID,
上述關聯可以創造單用戶多行顯示第一行如果通過@ user.spouse_list.spouse.name訪問配偶
如何限制男性用戶和女性用戶之間的關係?
是否可以重新編寫您的問題,因爲很難理解您要實現的目標。 – simonmorley
需要進行一對一的自我關聯,並且該關聯可以僅限於受限制的類型。像任何註冊用戶可以選擇他的伴侶,用戶可以是男性或女性,男性只能讓女性成爲他的伴侶,而女性只能讓男性成爲她的伴侶。 –