簡體   English   中英

如何在Laravel 5.7和Laravel Collective中使用動作

[英]How to use action with Laravel 5.7 and Laravel Collective

每次我想在表單中使用Action()時都會遇到此錯誤

Action App\Http\Controllers\RentBikeController@store not defined. (View: C:\xampp\htdocs\BikeRental\resources\views\Pages\bike.blade.php)

我的控制器代碼是:

<?php
     namespace App\Http\Controllers;

     use Illuminate\Http\Request;
     use App\Http\Requests;

     class RentBikeController extends Controller
     {
     /**
      * Display a listing of the resource.
      *
      * @return \Illuminate\Http\Response
      */
     public function index()
     {
         //
     }

     /**
      * Show the form for creating a new resource.
      *
      * @return \Illuminate\Http\Response
      */
     public function create()
     {
         //
     }

     /**
      * Store a newly created resource in storage.
      *
      * @param  \Illuminate\Http\Request  $request
      * @return \Illuminate\Http\Response
      */
     public function store(Request $request)
     {


         echo 'chuj';
     }

     /**
      * Display the specified resource.
      *
      * @param  int  $id
      * @return \Illuminate\Http\Response
      */
     public function show($id)
     {
         //
     }

     /**
      * Show the form for editing the specified resource.
      *
      * @param  int  $id
      * @return \Illuminate\Http\Response
      */
     public function edit($id)
     {
         //
     }

     /**
      * Update the specified resource in storage.
      *
      * @param  \Illuminate\Http\Request  $request
      * @param  int  $id
      * @return \Illuminate\Http\Response
      */
     public function update(Request $request, $id)
     {
         //
     }

     /**
      * Remove the specified resource from storage.
      *
      * @param  int  $id
      * @return \Illuminate\Http\Response
      */
     public function destroy($id)
     {
         //
     }
   }

查看代碼

{!! Form::open(['action' => 'RentBikeController@store']) !!} 
     <div class="form-group">
         {{Form::label('title', 'Title')}}
         {{Form::text('title', '', ['class' => 'form-conrol', 'placeholder'=> 'Title'])}}
     </div>
     <div class="form-group">
         {{Form::label('body', 'Body')}}
         {{Form::textarea('body', '', ['class' => 'form-conrol', 'placeholder'=> 'text'])}}
     </div>
    {{Form::submit('submit', ['class' => 'btn btn-primary'])}}
{!! Form::close() !!} 

我知道我可以使用類似Route::post('/bike/1','BikeController@store')但我真的不想要。 我也嘗試使用此解決方案在laravel中的html中添加表單操作,但隨后出現另一個錯誤

將此添加到路由文件夾web.php

Route::resource('bikes', 'RentBikeController');

並將您的Form::open更改為此:

{!! Form::open(['method' => 'POST', 'route' => ['bikes.store'], 'autocomplete' =>
                            'off', 'enctype' => 'multipart/form-data']) !!}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM