在laravel 5中使用url帮助器问题

在laravel 5中使用url帮助器问题,url,laravel,helper,Url,Laravel,Helper,我已经开辟了一条新路线 Route::get('/posts/{slug}', [ 'as'=>'postshow', 'uses'=>'PostController@getShow' ]); 我还创建了一个控制器: class PostController extends Controller { public function getShow($slug) { return view

我已经开辟了一条新路线

Route::get('/posts/{slug}', [
        'as'=>'postshow',
        'uses'=>'PostController@getShow'
    ]);
我还创建了一个控制器:

class PostController extends Controller
{
        public function getShow($slug)
        {
            return view($slug);
        }
}
我在home.blade.phpin中实现了它,我正在使用url帮助程序:

@extends('templates.default')

@section('content')

    @if($posts->count())
        @foreach($posts as $post)
            <article>
                <h2><a href="{{$url=action('postshow',$post->slug)}}">{{$post->title}}</a></h2>
                    {!!Markdown::parse(str_limit($post->body, $limit=250, $end="..."))!!}
                <a href="">Read more &arr; </a>
            </article>
        @endforeach
    @endif

@stop
它在Laravel4中工作得很好,但在Laravel5中工作得不好。我得到的错误是,我在创建路由时定义的“postshow”没有定义

未定义操作App\Http\Controllers\postshow


你有什么解决办法吗?我非常感谢。

你在这里用错了助手。如果要按名称引用路由,请使用路由:

如果要使用action,则必须传递控制器名称和方法:

{{ $url=action('PostController@getShow',$post->slug) }}

嗨,谢谢你的快速回答。正如您所建议的,我使用了正确的url帮助器,但在单击链接时,我仍然无法从“PostController.php”获取返回值。我应该在单击链接时返回slug值,还是应该返回。。谢谢你,不是真的。使用当前控制器代码,您正在尝试渲染名为$slug的视图。你想要的是返回$slug来返回slug值。我也试过了,也重复了它,但它似乎无法通过constroller。但是谢谢,我想主要的问题已经解决了。你点击链接后看到的URL是什么?URL是:。slug包含单词“radost”,因此它读取slug变量
{{ $url=action('PostController@getShow',$post->slug) }}