2013-08-18 5 views
0

컨트롤러 디렉토리에 CharactersController.php라는 컨트롤러가 있습니다. 다음은 두 가지 기능입니다.Laravel 4 URL :: action error

public function search() 
{ 
    return View::make('search.search'); 
} 

public function post_search() 
{ 
    $name = Input::get('character'); 
    $searchResult = Player::where('name', 'LIKE', '%'.$name.'%')->paginate(5); 
    return View::make('search.post_search') 
      ->with('name', $name) 
      ->with('searchResult', $searchResult); 
} 

첫 번째 기능 (function search())에서보기를 반환합니다. 내가 양식을 실행하려고하면 (검색)

 <form id="custom-search-form" class="form-search form-horizontal pull-right" action="{{ URL::action('[email protected]_search') }}" method="get"> 
     <div class="input-append spancustom"> 
      <input type="text" class="search-query" name="character" placeholder="Character/guild name"> 
      <button type="submit" class="btn"><i class="icon-search"></i></button> 
     </div> 
    </form> 

내가 Unknown action [[email protected]_search]. 오류 : 다음 뷰 (단지 형)의 코드가있다. 이 오류가 발생하기 전에 컨트롤러 교체를 시도하고 모든 작업을 시도했습니다. 그러나 그것은 효과가 없었습니다. 그래서 나는 포기했다.

누구든지 해결할 수 있습니까?

+0

작곡가 dump-autoload를 실행 해 보셨습니까? – Laurence

+0

@TheShiftExchange 시도, 내 작곡가 빌드 오래된, 그 자체 - 업데이트해야합니다 오류 메시지가 있어요. 그게 내가 한 짓이야. 다시 실행하려고하면 같은 일이 발생합니다. –

+0

오류 메시지가 아닙니다. 그것은 단지 오류 메시지 일뿐입니다. 작곡가가 실제로 진행하고 귀하의 경우에 자동로드를 마쳤습니다. 그랬을거야. –

답변

0

에 Chnage post_search는 해당 컨트롤러 RESTful?

인가 그리고 당신은 routes.php에 Route::controller()을 만든 적이 있습니까?

RESTFul이 아닌 경우 메서드 제목에서 post_을 제거해볼 수 있습니까?

+0

고마워,이 내 문제 롤 수정. –

0

실제로 컨트롤러의 방법에 대한 경로를 정의 했습니까? 전화를 걸면 성가신 예외가 throw됩니다. URL::action()

+0

네, 가지고 있지 않았습니다. 그러나 나는 post 메소드를 갖고 싶지 않습니다. 메소드를 가져오고 싶습니다. beacuse 포스트는 짜증 스럽습니다. 나는 2 개의 길을 얻을 수 있을까요? –

+0

Laravel 3에 대해 많이 알지는 않지만 태그를 추가했기 때문에 최신 버전 (이 글을 쓰는 시점에 4 번)을 사용하고 있다고 가정합니다. 기본적으로'Route :: get ('someurl', 'CharactersController @ post_search')를 호출 할 수 있으며'post_search()'메소드로'someurl'에 대한'GET' 요청을 처리해야합니다. –

0

함수 이름은 PSR-1에 대해 낙타로 처리해야합니다. postSearch

+0

여전히 작동하지 않습니다. 나는 그것을 Route :: post와 postSearch와 함께 작동하도록 만들었지 만, 게시물을 만들고 싶지는 않습니다. 이전처럼 메소드를 가져 오길 원하지만 오류없이 해당 액션을 변경할 수는 없습니다. 컨트롤러 메소드가 존재하지 않는다고 말합니다. –

+0

다음과 같은 것을 사용하고 있습니까? Route :: get ('url', [ 'uses'=> 'CharactersController @ postSearch']); –

+0

아니요. 당신은 내 경로를 볼 수 있습니다 : http://paste.laravel.com/Kxb –