Laravel 5 控制器操作的命名路由
Laravel 5 named route to controller action
我有一个 REST 控制器,我用新操作扩展了它 verify()
。现在我想通过命名路由调用此操作,但是当我打开 www.foo.bar/verify 时出现错误:
BadMethodCallException in Controller.php line 273:
Method [verify] does not exist.
当我在 routes.php 中调用操作 create
时,它的工作令人惊讶。这有点奇怪,我现在知道我的错误所在...
如何使用名称路由调用我的 verify() 操作?
app/Http/routes.php
Route::get('/', 'WelcomeController@index');
Route::resource( 'activation', 'ActivationController' );
Route::get( 'verify', [ 'as' => 'verify', 'uses' => 'ActivationController@verify' ]); // throws an error
// Route::get( 'verify', [ 'as' => 'verify', 'uses' => 'ActivationController@create' ]); // this works ?!?
app/Http/Controllers/ActivationController.php
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class ActivationController extends Controller {
// ....
public function verfiy( ) {
return "verify";
}
public function create()
{
return "create";
}
// ...
你把函数拼错了。 :)
public function verfiy( ) {
^^
我有一个 REST 控制器,我用新操作扩展了它 verify()
。现在我想通过命名路由调用此操作,但是当我打开 www.foo.bar/verify 时出现错误:
BadMethodCallException in Controller.php line 273:
Method [verify] does not exist.
当我在 routes.php 中调用操作 create
时,它的工作令人惊讶。这有点奇怪,我现在知道我的错误所在...
如何使用名称路由调用我的 verify() 操作?
app/Http/routes.php
Route::get('/', 'WelcomeController@index');
Route::resource( 'activation', 'ActivationController' );
Route::get( 'verify', [ 'as' => 'verify', 'uses' => 'ActivationController@verify' ]); // throws an error
// Route::get( 'verify', [ 'as' => 'verify', 'uses' => 'ActivationController@create' ]); // this works ?!?
app/Http/Controllers/ActivationController.php
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class ActivationController extends Controller {
// ....
public function verfiy( ) {
return "verify";
}
public function create()
{
return "create";
}
// ...
你把函数拼错了。 :)
public function verfiy( ) {
^^