路由上出现Laravel NotFoundHttpException


Laravel NotFoundHttpException on route

我一直在为一些非常简单的事情而挣扎,尽管如此,Laravel的路由系统的模糊性使其简单的路由方法变得复杂。我已经完成了这里列出的问题,但似乎没有什么帮助,所以就这样开始了。

我以前在一个名为"创建"的操作中定义了一个到控制器的路由。假设此操作接受表单中的发布数据并将其持久化。此create方法有一个参数,如果添加项目id,则该参数默认为null。否则,我们将传递一个id,例如domain/projects/add/22进行编辑,domain/projects/add创建一个新id。

以下是功能的框架:

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

然后我定义了一条路线,它是:

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

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

我不断收到与路由、Http或未找到异常的方法相关的错误。我试着听从网上的每一个建议,但一辈子都找不到自己的路。

请帮我指对方向,谢谢。

尝试使用以下示例代码

路线.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>

感谢大家的回复。在忙于工作之后,我终于回到了我的项目中,想尝试一下你的一些建议,但我失败了。

我确实找到了一个我尝试遵循的教程,基本上可以让我的路线正常工作。

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

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

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

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

关于视图,我只是将添加为同一保存路线的一部分,它起到了作用。下面是我遵循的教程的链接,并查看了代码。

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