路由[invitations.store]未定义。 (查看:C:\ xampp \ htdocs \ laravel-jobs \ resources \ views \ jobs \ show.blade.php)。怎么修?

时间:2019-11-09 17:09:55

标签: php laravel

我正尝试创建一个如下图所示的弹出窗口:

enter image description here

但是在下面显示的行中出现错误。

这是我的文件show.blade.php:

<!-- this line produces the error -->
<a href="{!! route('invitations.store') !!}" class="btn btn-danger" onclick="event.preventDefault() >
    Apply now
</a>

2 个答案:

答案 0 :(得分:0)

您需要在路由文件中定义一个名为invitations.store的路由,很可能是routes/web.php文件

这只是一个示例,请确保使用正确的控制器和方法名称

Route::post('invite', 'InvitationsController@store')->name('invitations.store');

用您的控制器类名替换InvitationsController,并用该控制器中的方法替换store,您也可以用您喜欢的另一个URL更改invite

  

注意

如果您已经为名为Invitation的模型创建了这样的资源路由

Route::resource('invitations', 'InvitationsController');

您将要设置这样的路线

+-----------+-------------------------------+---------------------+----------------------------------------------------+
| Method    | URI                           | Name                | Action                                             |
+-----------+-------------------------------+---------------------+----------------------------------------------------+
| GET|HEAD  | invitations                   | invitations.index   | App\Http\Controllers\InvitationsController@index   |
| POST      | invitations                   | invitations.store   | App\Http\Controllers\InvitationsController@store   |
| GET|HEAD  | invitations/create            | invitations.create  | App\Http\Controllers\InvitationsController@create  |
| GET|HEAD  | invitations/{invitation}      | invitations.show    | App\Http\Controllers\InvitationsController@show    |
| PUT|PATCH | invitations/{invitation}      | invitations.update  | App\Http\Controllers\InvitationsController@update  |
| DELETE    | invitations/{invitation}      | invitations.destroy | App\Http\Controllers\InvitationsController@destroy |
| GET|HEAD  | invitations/{invitation}/edit | invitations.edit    | App\Http\Controllers\InvitationsController@edit    |
+-----------+-------------------------------+---------------------+----------------------------------------------------+
  

另一注,请勿使用{!! !!}}来呈现路由URL,如果攻击者注入了恶意内容,请使用{{ }}代替

,这很危险。
<a href="{{ route('invitations.store') }}" class="btn btn-danger" onclick="event.preventDefault() >

希望这会有所帮助

答案 1 :(得分:0)

我希望它将对这个问题有所帮助。

routes / web.php

Route::get('invitations', ['as' => 'invitations.store', 'uses' => 'YourController@store']);

OR

Route::post('invitations', ['as' => 'invitations.store', 'uses' => 'YourController@store']);

检查控制器中是否有返回刀片文件。

public function store(Request $request){
   $data=array(); // if you have data
   return view('jobs.show', compact('data'));
}