Laravel: Action AppHttpControllersNotesController@store n



我有一个表单

<form action="{{ action('NotesController@store') }}" method="post">
    //
</form>

该操作指向 AppHttpControllers 目录中的 NotesController 控制器中的 store 方法。

NotesController如下所示:

<?php
namespace AppHttpControllers;
use AppNote;
use IlluminateHttpRequest;
class NotesController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return IlluminateHttpResponse
     */
    public function index()
    {
        //
    }
    /**
     * Show the form for creating a new resource.
     *
     * @return IlluminateHttpResponse
     */
    public function create()
    {
        //
    }
    /**
     * Store a newly created resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @return IlluminateHttpResponse
     */
    public function store(Request $request)
    {
        // var_dump($request);
        //
        // $note = new Note();

    }
    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function show($id)
    {
        //
    }
    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function edit($id)
    {
        //
    }
    /**
     * Update the specified resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function update(Request $request, $id)
    {
        //
    }
    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function destroy($id)
    {
        //
    }
}

但是当我尝试呈现显示我的表单的页面时(所以在提交之前,只是尝试呈现表单本身),我收到以下错误:

操作应用\Http\控制器\NotesController@store未定义。(查看: C:\xampp\htdocs\personal_projects\Active\diary_app\resources\views\diary\entry.blade.php)

您需要

routes/web.php中为控制器定义 Web 路由

Route::resource('notes', 'NotesController');
您可以使用

action()帮助程序生成路由的 URL:

<form method="post" action="{{ action('NotesController@store') }}" accept-charset="UTF-8">

您也可以像这样使用:

在途中:

Route::post('notes', 
      array('uses'=>'AppControllersNotesController@store',
             'as' => 'notes.create'));

在视野中:

{{ Form::open(array('url'=>route('notes.create'))) }}

如果您使用的是Laravel资源控制器,请使用:

Route::resource('notes', 'NotesController');

希望对您有所帮助!

使用此代码,看看你得到什么:

路线/网络.php

Route::get('create', 'NotesController@Create');
Route::post('create', 'NotesController@Store');

形式:

<form method="POST" action="/create">
    {{ csrf_field() }}
    {{-- START - FORM DATA --}}
    
    {{-- END - FORM DATA --}}
</form>

最新更新