-1
У меня есть коллекция ActiveRecord:Как получить коллекцию объекта ActiveRecord из другой коллекции объектов ActiveRecord?
current_user.memberships
=> [#<Membership id: 20, student_id: 19, group_id: 4, state: "accepted", created_at: "2015-04-02 09:58:45", updated_at: "2015-04-02 09:59:42">,
#<Membership id: 19, student_id: 18, group_id: 4, state: "accepted", created_at: "2015-03-19 14:01:58", updated_at: "2015-03-20 13:27:38">,
#<Membership id: 17, student_id: 16, group_id: 4, state: "accepted", created_at: "2015-03-19 13:42:38", updated_at: "2015-03-20 13:28:38">,
#<Membership id: 16, student_id: 15, group_id: 4, state: "accepted", created_at: "2015-03-19 13:39:15", updated_at: "2015-03-19 13:39:15">,
#<Membership id: 15, student_id: 14, group_id: 4, state: "accepted", created_at: "2015-03-19 13:28:12", updated_at: "2015-03-19 13:28:12">,
#<Membership id: 14, student_id: 13, group_id: 4, state: "accepted", created_at: "2015-03-19 13:26:44", updated_at: "2015-03-19 13:26:44">,
#<Membership id: 13, student_id: 12, group_id: 4, state: "accepted", created_at: "2015-03-19 13:19:05", updated_at: "2015-03-19 13:19:05">]
Я хочу, чтобы получить коллекцию групп (уникальных) от current_user.memberships
. В этом случае будет только один Group
:
#<Group id: 4, school_id: 6538, name: "Klasa 1a", created_at: "2015-03-19 13:19:05", updated_at: "2015-03-19 13:19:05", user_id: 13, tutor_user_id: nil, tutor_email: nil>
В псевдокоде, что будет что-то вроде current_user.memberships.groups.unique
. Как я могу это сделать?
Мои модели:
class Group < ActiveRecord::Base
belongs_to :user
end
class User < ActiveRecord::Base
has_many :groups
has_many :memberships, through: :groups
end
class Membership < ActiveRecord::Base
belongs_to :student
belongs_to :group
end
Что не так с current_user.groups? – coderhs
На самом деле, ваши ассоциации, похоже, искалечены. Мне кажется, что у пользователя должно быть много «членства», а затем есть много «групповых» членских взносов. Я прав? –
@Coderhs Я хочу получить только те 'группы'' current_user', которые имеют 'членство' с условием' ожидания'. 'current_user.groups' дает мне все группы, принадлежащие пользователю. – pmichna