2013-10-09 2 views
0

이것은 간단한 문제 일 수 있지만 Laravel을 테스트 중입니다. 나는 따라 다음과 같이 내 경로를 설정합니다Laravel 4 REST에 대한 경로 매개 변수

// Users Route 
Route::get('users',array('as'=> 'users', 'uses'=> '[email protected]')); 
Route::get('users/{id}', array('as' => 'user', 'uses' => '[email protected]')); 
Route::get('users/{id}/edit', array('as' => 'edit_user', 'uses' => '[email protected]')); 
Route::get('users/new', array('as' => 'new_user', 'uses' => '[email protected]')); 
Route::post('users', '[email protected]'); 
Route::delete('users', '[email protected]'); 

이제, 브라우저에서, 나는 localhost/users/new을 방문하는 경우, 그것은 "사용자"가 아니라 "NEW_USER"라는 이름의 경로를 호출합니다. 내 말은, 사용자를 생성하는 것이 아니라 편집을위한 경로를로드한다는 것입니다.

내 코드에 어떤 문제가 있습니까? Laravel은 '새로운'당신의 {ID} 매개 변수라고 가정

Route::get('users',array('as'=> 'users', 'uses'=> '[email protected]')); 
Route::get('users/new', array('as' => 'new_user', 'uses' => '[email protected]')); 
Route::get('users/{id}', array('as' => 'user', 'uses' => '[email protected]')); 
Route::get('users/{id}/edit', array('as' => 'edit_user', 'uses' => '[email protected]')); 
Route::post('users', '[email protected]'); 
Route::delete('users', '[email protected]'); 

:에

답변

2

우선 순위 문제, 그냥 변경합니다.

+0

이 코드를 사용하려고했는데 내가 "/ 새로운 사용자"를 방문 할 때이 오류가 발생합니다 : 불법 유형을 오프셋 (offset) isset 또는 empty – Bajongskie

+0

이제는 UsersController @ create 메서드를 살펴 봐야합니다. 거기에 오류가있는 것 같습니다. –

+0

오, 내 문제의 뿌리가 아니라 경로라고 생각합니다. – Bajongskie

3

RESTful API을 사용하는 경우 리소스 라우팅을 사용하는 것이 가장 좋습니다.

경로,

Route::resource('users', 'UsersController'); 

그리고 컨트롤러는

<?php 


class UsersController extends BaseController { 

    /** 
    * Display all users. 
    * 
    * @return Response 
    * GET http://localhost/laravel/users 
    */ 

    public function index() { 

    } 

    /** 
    * Show the form for creating a new resource. 
    * 
    * @return Response 
    */ 

    public function create() { 
     // 
    } 

    /** 
    * Store a newly created resource in storage. 
    * 
    * @return Response 
    * POST http://localhost/laravel/users 
    */ 

    public function store() { 
     // 
    } 

    /** 
    * Display the specified resource. 
    * 
    * @param int $id 
    * @return Response 
    * GET http://localhost/laravel/users/1 
    */ 

    public function show($id) { 
     // 
    } 

    /** 
    * Show the form for editing the specified resource. 
    * 
    * @param int $id 
    * @return Response 
    */ 

    public function edit($id) { 
     // 
    } 

    /** 
    * Update the specified resource in storage. 
    * 
    * @param int $id 
    * @return Response 
    * PUT http://localhost/laravel/users/1 
    */ 

    public function update($id) { 
     // 
    } 

    /** 
    * Remove the specified resource from storage. 
    * 
    * @param int $id 
    * @return Response 
    * DELETE http://localhost/laravel/users/1 
    */ 

    public function destroy($id) { 


    } 

} 
+0

+1 그것은 manuelly 작성 루트의 두통을 제거합니다. – itachi

관련 문제