A user has_many :donations
, a project has_many :donations
, and a donation belongs_to :user
and belongs_to :project
.
I'm looking for a sensible way to extract the projects associated with a user (through donations) into an array.
I'm currently doing:
def index
@user = User.find params[:user_id]
@projects = []
@user.donations.each do |donation|
@projects << donation.project
end
end
I feel like I'm missing something obvious, as this seems lame. Is there a better way to do this?
Edit
I accidentally simplified this too far. A user can also be associated with a project through other models, so @projects = @user.projects
isn't going to do what I need it to.