2017-02-11 66 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檢查你的路線文件