错误传递变量进行查看

i'm getting this error while passing data from controller to blade, every things looks good for me but i don't know what i'm missing

ErrorException in 3f66fc6a06d60b9d9b9d521f50ebd1074b04f3bc.php line 228:
Undefined variable: users (View: C:\wamp\www\transport_mithraesources\views\agents.blade.php)

My controller is

<?php

namespace App\Http\Controllers;

use Response;
use Session;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Input;

class UsersController extends ApiController
{
    public function index() 
    {
        $users = User::all();

        return View('agents', compact($users));

        //return view('agents')->with('users', $users);  with this is also same error
    }   
}

and my agents.blade.php

@foreach ($users as $agent)

<div class="col s12 m6 l3">
    <div class="card small card-agent">
        <div class="card-image">
            <img src="assets/images/profile-image-2.png" alt="">
        </div>
        <div class="card-content">
            <div class="card-details">
                <p>Name:</p><span>{{ $agent->name }}</span>
            </div>
            <div class="card-details">
                <p>Phone:</p><span>{{ $agent->phone_number }}</span>
            </div>
            <div class="card-details">
                <p>Email:</p><span>{{ $agent->email }}</span>
            </div>
            <div class="card-details">
                <p>Address:</p><span>{{ $agent->address_city_village }}</span>
            </div>
        </div>
        <div class="card-action">
            <p>Drivers: 502</p>
            <a href="drivers" class="waves-effect waves-light btn green">View</a>
        </div>
    </div>
</div>

@endforeach

looking forward for much needed help

Thank you

You should use correct syntax:

return view('agents', compact('users'));

compact('users') is the same as ['users' => $users]

Also the following will work:

return view('agents')->with(['users' => $users]);