2017-02-11 62 views
0

我想提交表单,但我总是Action App\Http\Controllers\[email protected] not defined即使功能show定义:行动应用程序 HTTP 控制器控制器@行动没有定义

<?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' => '[email protected]', '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() !!} 

我在做什么错?

+1

你的控制器被命名为'AboutController',但你试图访问'About'。 – Marwelln

回答

1

你不是叫好控制器!

{!! Form::open(array('action' => '[email protected]', 'method' => 'post')) !!} 

代替:

{!! Form::open(array('action' => '[email protected]', 'method' => 'post')) !!} 

它试图让行动关于@秀,但你没有在你的控制器定义它像这样!

希望它有帮助!

+0

感谢您的提示。现在我得到了'Action App \ Http \ Controllers \ AboutController @ show not defined'。 仅在添加路线后才起作用。 – Black

+1

您的路线应该在您的'web.php'或'routes.php'中定义,取决于您使用的laravel的版本: 'Route :: get('your_route','AboutController @ show') ;' – ettdro

+0

有趣,因为我认为拥有'action(...)'方法的重点是我们不必明确定义路由。如果我仍然需要定义一个命名路线,为什么我仍然需要使用这个'action'选项?个人喜好,我猜。 –

-1

就是这样,因为路线文件web.php。 Plz检查你的路线文件