Пользователь has_many :donations
, проект has_many :donations
и пожертвование belongs_to :user
и belongs_to :project
.
Я ищу разумный способ извлечения проектов, связанных с пользователем (посредством пожертвований), в массив.
Я сейчас делаю:
def index
@user = User.find params[:user_id]
@projects = []
@user.donations.each do |donation|
@projects << donation.project
end
end
Я чувствую, что упускаю что-то очевидное, так как это кажется неубедительным. Есть ли лучший способ сделать это?
Редактировать
Я случайно упростил это слишком далеко. Пользователь также может быть связан с проектом через другие модели, поэтому @projects = @user.projects
не собирается делать то, что мне нужно.