我的控制器目录中有一个名为CharactersController.php的控制器。这里有两个功能:
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('CharactersController@post_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 [CharactersController@post_search].
错误。我以前也犯过这个错误,我试着切换控制器,试着做任何事情。但它没有起作用。所以我放弃了。
谁能解决它?
控制器是RESTful?
吗
你在routes.php中创建了Route::controller()
吗?
如果不是RESTFul
,你能试着删除方法标题中的post_
吗?
您实际上为控制器的方法定义了路由吗?您需要这样做,否则当您调用URL::action()
函数名称需要根据PSR-1进行camelBased。Chnage postrongearch到postSearch