如何在 Laravel 5.7 和 Laravel Collective 中使用动作 [重复]

Posted

技术标签:

【中文标题】如何在 Laravel 5.7 和 Laravel Collective 中使用动作 [重复]【英文标题】:How to use action with Laravel 5.7 and Laravel Collective [duplicate] 【发布时间】:2019-03-27 03:33:53 【问题描述】:

每次我想在表单中使用 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') 这样的东西,但我真的不想要。 我也尝试使用此解决方案Adding form action in html in laravel,但随后又出现了另一个错误

【问题讨论】:

其实是我抄的时候搞错了。代码编辑 我相信你需要将它添加到你的 web.php 路由文件中,以便 Laravel “看到”它。 【参考方案1】:

将此添加到路由文件夹web.php

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

并将您的 Form::open 更改为:

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

【讨论】:

你能提供一个 laravel 集体行动功能的样本吗?

以上是关于如何在 Laravel 5.7 和 Laravel Collective 中使用动作 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 laravel 5.7 中删除用户? [复制]

Laravel 5.7 和 Vue 路由模式

如何在 Laravel 5.7 中生成 JWT 刷新令牌

如何修复“文件上传失败。”使用任何图像上传验证时出错 - Laravel 5.7

如何在 laravel 5.7 中获取当前视图名称(页面名称)

Laravel 5.7 按日期搜索