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
需要进行一对一的自我关联,并且该关联可以仅限于受限制的类型。像任何注册用户可以选择他的伴侣,用户可以是男性或女性,男性只能让女性成为他的伴侣,而女性只能让男性成为她的伴侣。 –