路线上的Laravel NotFoundHttpException

时间:2015-02-05 07:01:49

标签: php laravel-4

我一直在努力解决一些非常简单的问题,尽管Laravel的路由系统模糊不清,使其简单的路由方法变得复杂。我已经解决了这里列出的问题,但似乎没有任何帮助我,所以在这里。

我以前在名为“create”的动作上定义了一条到我的控制器的路径。此操作假定从表单接受发布数据并保留它。这个create方法有一个参数,对于项目id默认为null,如果它的add,我们传递一个id,例如domain / projects / add / 22来编辑和domain / projects / add来创建一个新的。

以下是该功能的骨架:

public function create( $id = null ){ ... }

然后我为此定义了一条路线:

Route::post( 'projects/add', 'ProjectsController@create' );

在我的表单中,我有{{Form :: open(array('url'=>'projects / add','method'=>'post'))}}。

我继续收到与路由,Http或方法未找到的异常相关的错误。我试图按照网上的每一个建议,但不能为我的生活找到我的方式。

请帮我指出正确的方向,谢谢。

2 个答案:

答案 0 :(得分:0)

尝试下面的示例代码

routs.php►

Route::post('projects/add/{id?}',array('as'=>'project_create','uses'=>'ProjectsController@create'));

ProjectsController.php►

class ProjectsController extends BaseController{

 public function create( $id = null ){
 ... 
 }  

projects.blade.php►(对于使用过的刀片模板,您的视图应该有blade.php扩展名)

<html>....
<form action="{{ route('project_create') }}"method="post">
    ....
</form>
</html>

答案 1 :(得分:0)

谢谢各位回复。在被工作淹没后,我终于回到了我的项目,想要尝试一些你的建议,但我失败了。

我找到了一个我试图遵循的教程,基本上能够使我的路线正常工作。

在我添加的路线内(见下文):

Route::get('/projects/list', [
  'as' => 'post.list', 
  'uses' => 'ProjectsController@listProjects'
]);

在我的控制器中,我刚刚创建了一个名为listProjects()的函数。至于显示我的表单我遵循相同的模式,除了指向我的控制器中的newProject()方法。

尽管我并不热衷于这种方法,但我最终创建了另一个函数,仅用于在填写并提交新项目表单后保存我的POST表单数据。我仍然使用与projects / add相同的url,除了将其指向名为saveProject()的may控制器中的不同函数。

关于视图我刚刚添加了相同保存路线的一部分并且它有效。下面是我所遵循的教程的链接,并查看代码。

http://www.codeheaps.com/php-programming/creating-blog-using-laravel-4-part-1/