我试图学习laravel,所以我创造了这样的东西:
路线:
Route::get('foto/add', array('uses' => 'HomeController@getIndex'));
自:
{% extends layout_file %}
{% block content %}
<div class="container" id="content" style="max-width: 600px">
<div class="row">
<div class="span4 offset4">
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-folder-open"></i></span>
{{ form_open({url: '/foto/add', class: 'form-horizontal'}) }}
{{ form_text('name', '', {class: 'form-control'}) }}
</div>
<br>
{{ form_submit('Create New Gallery', {name: 'submit', class: 'btn btn-lg btn-success btn-block'}) }}
</div>
</div>
{{ form_close() }}
</div>
{% endblock %}
的视频控制器:
public function getCreate()
{
return View::make('foto/addgallery');
}
public function postCreate()
{
echo 'elo';
}
当我点击按钮时,显示错误:
找不到控制器方法。
我不明白为什么......
答案 0 :(得分:0)
您的路线显示为HomeController@getIndex
,但您说您的控制器实际上名为VideoController
,而您尝试在该控制器中使用的方法称为getCreate
,而不是getIndex
。
请改为尝试:
Route::get('foto/add', array('uses' => 'VideoController@getCreate'));
......如果这不起作用,还有别的错误。 :)
答案 1 :(得分:0)
我认为这样做的常用方法是默认情况下表单使用post方法:
路线:
Route::post('foto/add','VideoController@postCreate');
的视频控制器:
public function postCreate(Request $request){
$photoName = $request->name;
// ...
}