You didn't initialize the @mtasks as an array. Try this:
@tasks = Task.find(:all, :conditions => "entity_id = #{session[:user].id}") @mtasks = Array.new() for t in @tasks if Subtasks.find(:first, :conditions => "child_id = #{t.id}") != nil @mtasks << t end end