duan1226
2018-05-17 16:31
采纳率: 100%
浏览 742
已采纳

带参数的Laravel路由导致404

I have a route setup which is throwing a 404 in my Laravel 5.6 app.

The problematic route is:

Route::get('/project/{project_id}/issue/create', 'IssueController@create');

If I remove the {project_id} parameter the view loads..but I need to be able to pass this id since I will be using it on this view to create new issues that are assigned to a project. All of the other routes work without issue.

My routes file (web.php) looks like this:

Route::get('/projects', 'ProjectController@index');
Route::get('/project/{project_id}', 'ProjectController@show');
Route::get('/project/{project_id}/issue/{issue_id}', 'IssueController@show');
Route::get('/project/{project_id}/issue/create', 'IssueController@create');

And my create function in the IssueController file is this:

public function create()
{
    return view('issue.create');
}

图片转代码服务由CSDN问答提供 功能建议

我的路由设置在我的Laravel 5.6应用程序中抛出了404.

有问题的路线是:

Route :: get('/ project / {project_id} / issue / create','IssueController @ create');

如果我删除 {project_id} 参数,视图会加载..但我需要能够传递此ID,因为我将在此处使用它 查看以创建分配给项目的新问题。 所有其他路由都没有问题。

我的路由文件(web.php)如下所示:

  Route :: get  ('/ projects','ProjectController @ index'); 
Route :: get('/ project / {project_id}','ProjectController @ show'); 
Route :: get('/ project / {project_id} / issue  / {issue_id}','IssueController @ show'); 
Route :: get('/ project / {project_id} / issue / create','IssueController @ create'); 
   \  n 
 

我在IssueController文件中的create函数是这样的:

  public function create()
 {
 
 
 
 
 
返回视图('issue.create')  ; 
} 
   
 
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dou426098 2018-05-17 16:35
    已采纳

    You missed project_id as parameter of your create method. Try this:

    public function create($project_id)
    {
        return view('issue.create');
    }
    

    and make a route like this:

    Route::get('/project/issue/create/{project_id}','IssueController@create');
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题