2015-06-12 115 views
5

這似乎是Laravel中不時出現的一個問題。我正在寫一個CRUD控制器以便與它一起使用,但是經過測試,我得到了InvalidArgumentException in FileViewFinder.php line 137: View [bookingcrud.index] not found錯誤。這裏是我的代碼:Laravel 5.1查看找不到

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(這是發生在我身上的錯誤版本)並且運行了作曲家更新。另外從看相同的錯誤線程我也跑了工匠配置:清除

我正在開發Windows 8.1與Homestead 2.0.17與虛擬框部署。

任何幫助會在這一點上大大appriciated它做我的頭。

+0

確保設置了正確的權限,並且如果請求區分大小寫,那麼文件完全匹配。 [鏈接](http://laravel.io/forum/06-14-2014-invalidargumentexception-view-schoolsindex-not-found-please-help-its-urgent) – brokekidweb

+0

正如在問題中提到的文件和目錄權限是完整(777或-rwxrwxrwx等),文件路徑全部小寫且不含空格 – Livewire

+0

嘗試在控制檯中使用'php artisan serve'並導航到http:// localhost:8000 /並查看是否可以獲取該頁面。如果可以的話,這將是您的Homestead設置的一個問題。否則,我們可以將其縮小到您的代碼中。 – brokekidweb

回答

4

結果我發現我拼寫錯誤葉片,花了第二雙眼睛察覺不到,但。

[email protected]:~/Development/laravel$ ls resources/views/crud/booking/ 

crud.balde.php index.balde.php

絕對是個教訓,總是仔細檢查調試時的小東西。 感謝您的幫助。

+0

同樣的問題,首先谷歌的結果,相同的分辨率,ty :)仍然收到相同的錯誤: – petert0th

14

請使用終端

homestead ssh > Press Enter 
[email protected] cd /Path_of_Your_Project/ 
[email protected]:~/Path_of_Your_project php artisan cache:clear 
[email protected]:~/Path_of_Your_project php artisan config:cache 

對不起我的英語

+2

你保存一個人的工作。 +1 –

1

記住,Linux是區分大小寫的!

我有這樣的事情:

return view('MyView', $data); 

,這是工作在我的環境(Mac OS)中,而不是在部署服務器(Ubuntu的)對!

+1

感謝您的想法 –

2

對於沒有SSH訪問權限的人員,有兩種方法可以解決此問題。

如果你沒有默認的Laravel包的插件, 首先,請刪除bootstrap/cache/config。PHP以解決該文件,

OR

如果您有默認的Laravel包的任何插件, 改變一切有關的路徑提到引導/緩存/ config.php文件成分配的laravel項目的確切路徑。