【发布时间】:2020-03-20 12:52:59
【问题描述】:
我正在做一个用户可以授权或拒绝askedRapport 的表单。
这里是:
askRapportShow.blade.php刀片视图:
<form action="{{route('authorize', $askedRapport->id)}}" method="POST">
<div class="form-group">
<textarea class="form-control" placeholder="Message"></textarea> <br>
<button type="submit" formaction="{{route('authorize', $askedRapport->id)}}" class="btn btn-success">Autoriser</button>
<button type="submit" formaction="{{route('refuse', $askedRapport->id)}}" class="btn btn-danger">Refuser</button>
</div>
</form>
在路由定义的web.php 文件中:
// RAPPORT ASKING MANAGEMENT
Route::post('askedRapport/{id}', 'manageAskedRapportController@authorize')->name('authorize');
Route::post('askedRapport/{id}', 'manageAskedRapportController@refuse')->name('refuse');
// RAPPORT ASKING MANAGEMENT--END
和控制器manageAskedRapportController.php:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class manageAskedRapportController extends Controller
{
public function authorize($id){
return view('welcome');
}
public function refuse($id){
return view('unauthorized');
}
}
有人知道我为什么会遇到这个问题吗?非常欢迎任何帮助
编辑
如果这有帮助,当我输入 php artisan route:list 命令时,我会得到:
ErrorException : Declaration of App\Http\Controllers\manageAskedRapportController::authorize($id) should be compatible with App\Http\Controllers\Controller::authorize($ability, $arguments = Array)
at C:\xampp\htdocs\monapp\app\Http\Controllers\manageAskedRapportController.php:17
13|
14| public function refuse($id){
15| return view('unauthorized');
16| }
> 17| }
18|
Exception trace:
1 Illuminate\Foundation\Bootstrap\HandleExceptions::handleError("Declaration of App\Http\Controllers\manageAskedRapportController::authorize($id) should be compatible with App\Http\Controllers\Controller::authorize($ability, $arguments = Array)", "C:\xampp\htdocs\monapp\app\Http\Controllers\manageAskedRapportController.php", ["C:\xampp\htdocs\monapp\vendor\composer/../../app\Http\Controllers\manageAskedRapportController.php"])
C:\xampp\htdocs\monapp\vendor\composer\ClassLoader.php:444
2 include()
C:\xampp\htdocs\monapp\vendor\composer\ClassLoader.php:444
Please use the argument -v to see more details.
【问题讨论】:
-
你能发布
php artisan route:list的结果吗 -
为什么你使用相同的路线两次?
-
refuse总是覆盖authorize路由,因为 url 是相同的。 -
@JitheshJose,嗯,有问题吗?只要是不同的动作,不就是点击相应按钮的时候直接去控制器中提到的功能吗?我可能错了
-
不,你不能在不同的路由中使用相同的 url。