【问题标题】:Laravel Resource route NotFoundHttpExceptionLaravel 资源路由 NotFoundHttpException
【发布时间】:2014-03-26 01:22:47
【问题描述】:

我正在使用资源路由访问我网站上的多个 crud 功能,但在访问多个页面之一时出现 NotFoundHttpException 错误。这是早些时候工作的,我认为我没有改变任何东西。

Route::resource('/contractors', 'ContractorController');

具体的ContractorController方法:

public function skills($id)
{
    $contractor = Contractor::find($id);
    return View::make('contractors.skills')
        ->with('contractor', $contractor);
}

我在 ContractorController 中也有所有基本的 crud 方法。我正在使用技能方法创建一个新视图,用于编辑数据透视表中的标签

我的网址是 public/contractors/1/skills 和这个刀片视图:

contractors/skills.blade.php 

你看到我做错了什么吗?

【问题讨论】:

    标签: php laravel laravel-4


    【解决方案1】:

    默认情况下,资源控制器只处理少数几个路由,您可以在Resource Controllers 的文档条目中查看它们的完整列表(总共 7 个)。

    skills URI 段不是其中之一。您需要为此添加单独的路线:

    Route::get('/contractors/{contractorId}/skills', 'ContractorController@skills');
    

    但是,这并不是真正的 RESTful 设计。使用单独的 skills 资源可能会更好。

    【讨论】:

    • 谢谢。我现在一切正常。不知道为什么我认为我可以通过一条路线运行所有东西!
    • 是否可以从一个控制器方法生成两个视图? return View::make('contractors.edit') ->with('contractor', $contractor);View::make('contractors.photos')->with('contractor', $contractor);
    • 你的意思是有条件的?当然.. if($condition) { return View::make(..) } else { return View::make(..); 总共?并不真地。您只能返回 1 个响应,并且 View::make 会返回该响应。不过,您可以做出自己的回复,其中包含其他回复的内容。
    • 谢谢,我想我已经搞定了。
    猜你喜欢
    • 1970-01-01
    • 2017-05-09
    • 2017-08-10
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    • 2015-11-23
    • 2017-11-15
    • 2014-02-10
    相关资源
    最近更新 更多