【问题标题】:Laravel error Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpExceptionLaravel报错Symfony\Component\HttpKernel\Exception\NotFoundHttpException
【发布时间】:2014-08-13 11:03:35
【问题描述】:

我已阅读此论坛中的其他问题来解决此问题,但没有任何帮助。

我只在其他文件夹中的一个文件夹中收到此错误,laravel 完美无误。 错误是:

Symfony\Component\HttpKernel\Exception\NotFoundHttpException

我使用的代码。 homa.blade.php

<section>
    <h2><a href="{{ URL::action('post-show', $post->slug) }}">{{ $post->title }}</a></h2>
    {{ Markdown::parse(Str::limit($post->body, 300)) }}
    <a href="{{ URL::action('post-show', $post->slug) }}">Read more &rarr;</a>
</section>

routes.php

Route::get('/posts/{$slug}', array(
    'as' => 'post-show',
    'uses' => 'PostController@getShow'
));

控制器是 PostController.php

<?php

class PostController extends BaseController {

    public function getShow($slug) {
        echo 'Tets';
    }
}

这是我所有的代码而已。

【问题讨论】:

  • 您的homa.blade.php 是您从子文件夹获得的视图,而不是根yourwebsite.com/
  • youwebsite.com 正在生根,但到youwebsite.com/posts/topic-name-here 出错
  • 所以您从&lt;a href="..."&gt; 获得的网址是正确的,但是转到该网址会导致问题对吗?还是生成的网址有误?
  • 问题出在我使用Route::get('/posts/{$slug}')$ 我应该不使用的路线上。 :)

标签: php laravel


【解决方案1】:

URL::action(顾名思义)期待一个动作,而不是你经过的路线名称。

公共字符串动作(字符串$action,混合$参数=数组(),布尔 $absolute = true)

你应该使用 route():

URL::route('post-show', array($post->slug))

公共字符串路由(字符串 $name, 混合 $parameters = array(), bool $absolute = true, Route $route = null)

【讨论】:

  • 我同意。除此之外,我不确定,但这个Route::get('/posts/{$slug}'...) 也可能会导致问题,它是否适用于 $ 符号?
  • 仍然无法正常工作,在我之前的项目中,我也与 URL::action() 合作过。
  • 嗯,我从来没有检查过,但我猜它被视为一个字符串
  • 冬青废话,我从那里梦到Route::get('/posts/{$slug}') 需要与 $ 一起使用...谢谢这是个问题。
【解决方案2】:

其实你应该使用(从{$slug}中删除$):

Route::get('/posts/{slug}', array(
    'as' => 'post-show',
    'uses' => 'PostController@getShow'
));

也改变:

<a href="{{ URL::action('post-show', $post->slug) }}">Read more &rarr;</a>

到这里:

<a href="{{ URL::route('post-show', $post->slug) }}">Read more &rarr;</a>

或者使用route辅助函数:

<a href="{{ route('post-show', $post->slug) }}">Read more &rarr;</a>

【讨论】:

    猜你喜欢
    • 2014-06-28
    • 1970-01-01
    • 2021-04-28
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    • 2016-05-21
    相关资源
    最近更新 更多