У меня есть такие модели:
class Person
has_many :groups
has_many :group_memberships, :foreign_key => "member_id"
end
class Group_Membership
belongs_to :member, :class_name => 'Person'
belongs_to :group
end
class Group
belongs_to :person
has_many :group_memberships
has_many :members, :class_name => "Person", :through => "group_memberships", :foreign_key => "member_id"
Человек просит membership
, создавая его модель с помощью status false
. Владелец group
на своей странице person#show
может видеть, кто запросил membership
, а также groups
, в котором он участвует. Так как groups
и group_memberships
belongs_to
являются person
, но group_membership
также belongs_to
являются group
, как я могу сделать вид в person#show
, который позволит person
видеть, кто запросил memberships
на groups
у person
, а также то, что groups
у person
есть membership
?
##EDIT##
status
здесь false
по умолчанию, потому что person
будет просто принято в group
, если владелец edit
этот статус и установит его как true
.
Идея взята из этого вопроса: Вопрос об ассоциации и моделях на Rails