【发布时间】:2019-03-27 06:00:35
【问题描述】:
在我的 laravel 5.6 应用程序中,我在支付视图文件中有以下指向 payment.blade.php 文件的路由链接,
<a class="btn btn-primary" href="{{route('payments.payment',$vehicles->id)}}" role="button">Go Premium</a>
这个页面的路由是,
Route::get('myads/{id}/edit/payment', function(){
return view('payments.payment');
})->name('payments.payment');
在 payment.blade.file 我有以下表单操作,
<form method="post" action="{{route('payments.payment', ['id' => $vehicles->id])}}">
{{csrf_field()}}
它是执行路线,
Route::get('/add-order/{id?}', 'PController@addOrder')->name('payments.payment');
通常我需要通过上面的链接去支付刀片文件并使用刀片提交按钮提交表单。但是当我点击 go premium 按钮访问支付刀片文件时,我的应用程序不会重定向到支付按钮。它是执行支付刀片文件表单操作而不显示支付刀片文件。我该如何解决这个问题?
请查看我编辑的路线和表单操作
Route::get('myads/{id}/edit/payment', function(){
return view('payments.payment');
})->name('payments.viewpayment');
和
Route::post('/add-order/{id?}', 'PController@addOrder')->name('payments.payment');
并形成动作
<form method="post" action="{{route('payments.viewpayment', ['id' => $vehicles->id])}}">
但现在出现此错误,
(1/1) MethodNotAllowedHttpException
如何解决这个问题?
adOder 函数
public function addOrder(Request $request,$id = null)
{
DB::table('vehicles')
->where('id', $id)
->update(['adtype' => '1']);
}
当前代码
Route::get('myads/{id}/edit/payment', function($vehicle_id){
return view('payments.payment',compact('vehicle_id'));
})->name('payments.payment');
Route::post('/add-order/{id}', 'PController@addOrder')->name('payments.payment');
支付刀片链接
<a class="btn btn-primary" href="{{url('myads/'.$vehicles->id.'/edit/payment')}}" role="button">Go Premium</a>
形成动作,
<form method="post" action="{{route('payments.payment', ['id' => $vehicle_id])}}">
和控制器,
public function addOrder($id = null)
{
DB::table('vehicles')
->where('id', $id)
->update(['adtype' => '1']);
}
【问题讨论】:
-
因为
routes name('payments.payment');使用相同的名称,所以使用差异名称