2015-06-12 22 views
5

Dies scheint ein Problem zu sein, das hin und wieder in Laravel auftaucht. Ich schrieb einen CRUD-Controller mit Blick darauf, aber beim Testen bekam ich den InvalidArgumentException in FileViewFinder.php line 137: View [bookingcrud.index] not found Fehler. Hier ist mein Code:Laravel 5.1 View 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); 
    } 
} 

Und eine Ansicht befindet sich in ~/laravel/resources/views/bookingcrud/index.blade.php Egal, was in dieser Ansicht Datei, ob seine Markup von a Arbeitsansicht oder einfach nur das Wort "Käse" bekomme ich immer:

Ich habe die gleiche Ansicht in einem bekannten funktionierenden Controller getestet und habe den gleichen Fehler, aber ich testete eine bekannte Arbeitsansicht auf dem gleichen CRUD-Controller und es funktionierte. Ich habe auch versucht, das Verzeichnis der Ansicht zu ändern und es umzubenennen, aber ich werde den gleichen Fehler mit dem "Ansicht [bookingcrud.index]" erhalten, das sich entsprechend ändert. Ich stellte sicher, dass die Berechtigungen der Datei und der Verzeichnisse zum Testen voll waren.

Seit dem ersten Fehler habe ich auf 5.1.1 von 5.0.26 aktualisiert (das ist die Version, für die der Fehler auf mich zurückzuführen ist) und Composer Update ausgeführt. Auch von Threads mit dem gleichen Fehler zu sehen habe ich auch rans artisan config: clear

Ich entwickle auf Windows 8.1 mit Homestead 2.0.17 mit Virtual Box.

Jede mögliche Hilfe würde an dieser Stelle viel appriciated es in meinem Kopf tut.

+0

Stellen Sie sicher, dass die richtigen Berechtigungen festgelegt sind und dass bei Groß- und Kleinschreibung die Datei exakt übereinstimmt. [link] (http://laravel.io/forum/06-14-2014-invalidargumentexception-view-schoolsindex-not-found-please-help-its-urgent) – brokekidweb

+0

Wie in der Frage erwähnt, sind die Datei- und Verzeichnisberechtigungen full (777 oder -rwxrwxrwx etc.) und die Dateipfade sind alle Kleinbuchstaben ohne Leerzeichen – Livewire

+0

Probieren Sie 'php artisan serve' in der Konsole und navigieren Sie zu http: // localhost: 8000/und sehen Sie, ob Sie diese Seite bekommen können. Wenn Sie können, wird es ein Problem mit Ihrem Homestead Setup sein. Ansonsten können wir es auf etwas in Ihrem Code eingrenzen. – brokekidweb

Antwort

4

Es stellt sich heraus, dass ich Klinge falsch geschrieben hatte, nahm ein zweites Paar Augen, um es tatsächlich obwohl bemerken.

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

crud.balde.php index.balde.php

war auf jeden Fall eine Lektion, die kleinen Dinge prüfen immer, beim Debuggen. Danke für die Hilfe.

+0

gleiches Problem, erste Google Ergebnis, gleiche Auflösung, ty :) – petert0th

14

Bitte benutzen Sie Terminal

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 

Tut mir leid, mein Englisch

+2

Sie speichern einen Job einer Person. +1 –

1

Denken Sie daran, dass Linux Groß- und Kleinschreibung!

ich so etwas wie dies hatte:

return view('MyView', $data); 

Und es arbeitet an meiner Umgebung (Mac OS), aber nicht auf dem Deployment Server (Ubuntu)!

+1

Danke für die Idee –

2

Für jemanden, der keinen SSH-Zugang hat, gibt es zwei Möglichkeiten, dieses Problem zu lösen.

Wenn Sie kein Plugin des Standard-Laravel-Pakets haben, entfernen Sie zunächst bootstrap/cache/config.php zu lösen die Datei,

ODER

Wenn Sie Plugin von Standard Laravel Paket haben, ändern alle zugehörigen Pfad Bootstrap/cache/config.php in den genauen Pfad erwähnt, die das Laravel Projekt zugeordnet .