Ищите некоторое понимание этого.
Я пытаюсь определить контроллер маршрута в приложении Laravel 4, которое выполняет следующие действия.
user/{userid}
user/new
Я не могу найти способ сделать так, чтобы оба происходили одновременно.
Мой контроллер и маршрут выглядят так:
Route::controller('user', 'UserController');
class UserController extends BaseController {
public function getIndex($user_id) {
$user = User::find($user_id);
return View::make('user')
->with('user', $user);
}
public function getNew() {
return View::make('create_user');
}
}
Для меня это должно сработать, но я получаю 404 при попытке перейти на user/1
, Довольно странно, user/new
все еще берет меня create_user
как это должно. user.blade.php
посмотреть и create_user.blade.php
посмотреть как существуют в корне views
так что это тоже не проблема. Что я делаю неправильно?
Вместо того чтобы делать Route::controller('user', 'UserController');
Вы можете сделать следующее в своих маршрутах:
Route::get('user/new', 'UserController@getNew');
Route::get('user/{user_id}', 'UserController@getIndex');
ИЛИ вы также можете сделать следующее:
Route::get('user/{user_id}', 'UserController@getIndex');
Route::controller('user', 'UserController');
Других решений пока нет …