【问题标题】:Laravel 5.1 View not foundLaravel 5.1 未找到视图
【发布时间】:2015-08-28 10:35:12
【问题描述】:

这似乎是 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 的视图 无论此视图文件中的内容是来自工作视图的标记还是只是“奶酪”这个词,我都会得到:

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

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

自从第一次收到错误以来,我已经从 5.0.26 升级到 5.1.1(这是我的错误起源的版本)并运行了 composer update。同样通过查看具有相同错误的线程,我还运行了 artisan config:clear

我正在 Windows 8.1 上进行开发,Homestead 2.0.17 部署了 Virtual Box。

在这一点上,任何帮助都会让我很高兴。

【问题讨论】:

  • 确保设置了正确的权限,并且如果请求区分大小写,则文件完全匹配。 link
  • 如问题中所述,文件和目录权限已满(777 或 -rwxrwxrwx 等)且文件路径均为小写且没有空格
  • 尝试在控制台中使用php artisan serve 并导航到localhost:8000 并查看是否可以获得该页面。如果可以的话,这将是您的 Homestead 设置的问题。否则,我们可以将其缩小到您代码中的某些内容。
  • 是的,我已经尝试过了,当我导航到localhost:8000/bookingcrud时仍然收到同样的错误

标签: php laravel laravel-5 blade homestead


【解决方案1】:

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

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

在调试时总是仔细检查小事情绝对是一个教训。 感谢您的帮助。

【讨论】:

    【解决方案2】:

    请使用终端

    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
    

    对不起我的英语

    【讨论】:

      【解决方案3】:

      记住 Linux 是区分大小写的!

      我有这样的事情:

      return view('MyView', $data);
      

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

      【讨论】:

        【解决方案4】:

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

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

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

        【讨论】:

        • 你让我很开心,我也面临同样的问题。该站点在我的本地主机上运行良好,但它显示有关未找到视图的“invalidargumentexception”。我尝试了很多解决方案,但你的一个效果很好。谢谢,
        猜你喜欢
        • 2015-11-16
        • 2016-01-14
        • 1970-01-01
        • 1970-01-01
        • 2015-10-13
        • 1970-01-01
        • 2015-05-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多