Laravel 5.1查看未找到

时间:2015-06-12 12:06:18

标签: php laravel laravel-5 blade homestead

这似乎是Laravel内不时出现的问题。我正在编写一个CRUD控制器,以便继续使用它,但是在测试时我得到了InvalidArgumentException in FileViewFinder.php line 137: View [bookingcrud.index] not found错误。这是我的代码:

routes.php文件:

Route::resource('bookingcrud', 'BookingsCrudController');

BookingsCrudController.php

use uasc\Http\Requests;
use uasc\Http\Requests\CrudCreateRequest;
use uasc\Http\Requests\CrudUpdateRequest;
use uasc\Http\Controllers\Controller;

use Auth;
use DB;
use Illuminate\Pagination\Paginator;

use Illuminate\Http\Request;

class BookingsCrudController extends Controller {

    public function index()
    {
        if (!Auth::check() || Auth::user()->authority < 1) {
            return redirect('/login');
        }

        $raw = "select * from bookings";
        $bookings = DB::select($raw);
        $paginatedBookings = new Paginator($bookings, 1);

        return view('bookingcrud.index')->with('bookings', $paginatedBookings);
    }
}

位于~/laravel/resources/views/bookingcrud/index.blade.php的视图 无论在这个视图文件中是什么,它的工作视图中的标记还是单词“cheese”我都会得到:

InvalidArgumentException in FileViewFinder.php line 140:
View [bookingcrud.index] not found.

我在一个已知的工作控制器中测试了相同的视图并得到了相同的错误但是我在同一个CRUD控制器上测试了一个已知的工作视图并且它工作正常。我也尝试更改视图的目录并重命名它,但我将得到相同的错误,“View [bookingcrud.index]”正确更改。我确保文件和目录的权限已满,以便进行测试。

自从第一次收到错误后,我从5.0.26升级到5.1.1(这是我发现错误的版本)并运行了composer update。另外,从查看具有相同错误的线程,我也运行了artisan config:clear

我在Windows 8.1上开发,使用Virtual Box部署了Homestead 2.0.17。

此时任何帮助都会非常令人满意。它正在努力。

4 个答案:

答案 0 :(得分:14)

请使用终端

homestead ssh > Press Enter
vagrant@homestead cd /Path_of_Your_Project/
vagrant@homestead:~/Path_of_Your_project php artisan cache:clear
vagrant@homestead:~/Path_of_Your_project php artisan config:cache

抱歉我的英文

答案 1 :(得分:5)

原来我拼错了刀片,然后用第二双眼睛注意到它。

$ ls resources/views/crud/booking/
crud.balde.php  index.balde.php

绝对是一个教训,总是在调试时仔细检查小东西。 谢谢你的帮助。

答案 2 :(得分:3)

对于没有SSH Access的人,有两种方法可以解决此问题。

如果你没有任何默认的Laravel包插件, 首先,只需删除 bootstrap / cache / config.php 即可解决该文件,

OR

如果你有任何默认的Laravel包插件, 将提及 bootstrap / cache / config.php 的所有相关路径更改为分配laravel项目的确切路径。

答案 3 :(得分:2)

请记住,Linux区分大小写!

我有这样的事情:

return view('MyView', $data);

它正在我的环境(Mac OS)上工作,但不在部署服务器(Ubuntu)上工作!