我正在尝试向具有参数的资源路由添加方法。如果我创建一个没有参数的它可以找到,但是当我尝试添加一个参数时它不起作用。
这是代码
Route::get('temp_user/activate/{id}', 'TempUserController@activate');
Route::resource('temp_user','TempUserController', array('only' => array('index','create','store')));
上面的代码不起作用,但我需要将参数传递给我的方法。请帮忙。
答案 0 :(得分:4)
在这里工作正常。为了不创建一个我刚刚使用的新控制器和旧控制器:
<?php
class StoreController extends Controller {
public function activate($id)
{
return 'activate '.$id;
}
public function index()
{
return 'index';
}
public function create()
{
return 'create';
}
}
使用路线:
Route::get('temp_user/activate/{id}', 'StoreController@activate');
Route::resource('temp_user','StoreController', array('only' => array('index','create','store')));
执行
后 php artisan routes
我得到了
| | GET /temp_user/activate/{id} | | StoreController@activate | | |
| | GET /temp_user | temp_user.index | StoreController@index | | |
| | GET /temp_user/create | temp_user.create | StoreController@create | | |
| | POST /temp_user | temp_user.store | StoreController@store | | |
浏览:
http://172.17.0.2/temp_user/create
http://172.17.0.2/temp_user/activate/1
http://172.17.0.2/temp_user
一切正常。