Aktion App\Http\Controller\Controller@action nicht definiert
Möchte ich ein Formular Absenden, aber ich bekomme immer Action App\Http\Controllers\About@show not defined
obwohl die Funktion show
definiert ist:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class AboutController extends Controller
{
public function create()
{
return view('about.contact');
}
public function show()
{
return view('about.contactshow');
}
}
Dies ist meine Klinge Vorlage about\contact.blade.php
:
{!! Form::open(array('action' => 'About@show', 'method' => 'post')) !!}
{!! Form::label('username','Username',array('id'=>'user','class'=>'')) !!}
{!! Form::text('username','user 1',array('id'=>'user','class'=>'', 'placeholder' => 'user 1')) !!}
{!! Form::submit('Click Me!') !!}
{!! Form::close() !!}
Was mache ich falsch?
- Der controller namens
AboutController
, aber Ihre versuche, aufAbout
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich in der Lage, es zu lösen.
Zuerst musste ich ändern
'action' => 'About@show'
zu'action' => 'AboutController@show'
Dann musste ich registrieren, alle Controller-Aktionen in routes.php:
Du bist nicht nennen der gute controller!!
statt:
Er versucht, die Aktion Über@show, aber Sie wollte nicht, es zu definieren, wie dies in dem controller!!
Hoffe, es hilft!
Action App\Http\Controllers\AboutController@show not defined
. Nur nach dem hinzufügen der Routen funktioniert es.web.php
oderroutes.php
je nach der version von laravel Sie verwenden:Route::get('your_route', 'AboutController@show');
action(...)
Methode ist, so wir nicht haben, um eine route definieren, die explizit an. Wenn ich noch definieren einer benannten route, warum werde ich noch benötigen, um diesesaction
option? Persönliche Vorlieben, denke ich.Das ist alles, da der Routen-Datei
web.php
. Plz-check-out Routen-DateiIch hatte ein ähnliches Problem, aber es war nicht mein controller name war falsch (web.php und Namen der Datei waren zu 100% richtig ist). Aufgrund eines früheren "umgestalten" - es ersetzt meine form action/Methode.
Also meine form opener aussah, also:
Statt so (für das erstellen von anzeigen/Seite):
Stellen Sie sicher, es hat ein @Aktion auf Ihre form.
Wenn Sie diese Fehlermeldung erhalten, ist es möglich, dass Sie in die falsche Rechtschreibung in der web.php oder eine andere Aktion Methode. Einfach gehen und überprüfen Sie die Schreibweise.