我想提交一个表单,但是我总是得到Action App\Http\Controllers\About@show not defined,即使函数show是定义的:
<?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');
}
}这是我的刀片模板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() !!}我做错了什么?
发布于 2017-02-11 22:05:34
我解决了这个问题。首先,我不得不将'action' => 'About@show'改为'action' => 'AboutController@show'
然后,我必须在routes.php中注册所有Controller操作
Route::post('contact_show', [
'uses' => 'AboutController@show'
]);
Route::get('contact_create', [
'uses' => 'AboutController@create'
]);发布于 2017-09-19 13:59:52
仅此而已,因为路由文件web.php。请查看您的路由文件
发布于 2020-04-09 21:02:00
我也有过同样的问题。
问题在于routes/web.php。我一步一步地构建我的应用程序,正因为如此,我使用这样的'only'将第二个数组传递给我的路由,以使它创建索引路由only
Route::resource('model', 'ModelController', [
'only' => ['index']
]);但是在创建“create”视图之后,我无法将数据传递给控制器中的store函数。我发现这是因为store函数需要一个显式路由(如上所述)。因此,我将它添加到这样的'only'数组中,它工作起来就像一种魅力:
Route::resource('model', 'ModelController', [
'only' => [
'index',
'create',
'store',
]
]);(Laravel诉7.4.0)
https://stackoverflow.com/questions/42181693
复制相似问题