Laravel 命名路由不使用url

Laravel 命名路由不使用url,laravel,laravel-4,laravel-routing,Laravel,Laravel 4,Laravel Routing,我有一条路线,效果很好 Route::get('downloadsPage', function() { $downloads = Download::get(); return View::make('index', array('downloads' => $downloads)); }); Route::get('/buy/{id}', function($id) { $download = Download::find($id); return View::make(

我有一条路线,效果很好

Route::get('downloadsPage', function()
{
$downloads = Download::get();   
return View::make('index', array('downloads' => $downloads));
});
Route::get('/buy/{id}', function($id)
{
$download = Download::find($id);    
return View::make('buy', array('download' => $download));
});
带着

return View::make('downloadsPage');
它位于我的控制器中

public function afterSignin() {
    if (Auth::attempt(array('email'=>Input::get('email'), 'password'=>Input::get('password')))) {
        return Redirect::intended('downloadsPage')->with('message', 'Thanks for signing in');
    }
问题是,我还有一个导航视图文件,用于同一路线的链接

<li><a href="{{ URL::route('downloadsPage')}}">Store</a></li>
  • 我得到了错误

    我认为错误是因为没有在视图中正确设置路由

    我在主视图中还有一个foreach循环,它使用路由中传递的参数

    @foreach ($downloads as $download)
    <tr>
        <td>{{ $download->name }}</td>
        <td>&pound;{{ round($download->price/100) }}</td>
        <td><a href="/buy/{{ $download->id }}" class="btn btn-primary">Buy</a></td>
    </tr>
    @endforeach
    
    @foreach($downloads作为$download下载)
    {{$download->name}
    &磅;{{round($download->price/100)}
    @endforeach
    
    我正在使用命名路由,显然缺少一些可能是一个简单的修复


    我尝试重新编写路由,并使用get、post和passing参数添加相应的控制器函数,但没有成功。

    这不是命名路由,命名路由是:

    Route::get('downloadsPage', ['as' => 'downloadsPage', function()
    {
        $downloads = Download::get();   
        return View::make('index', array('downloads' => $downloads));
    }]);
    
    请注意,
    “as'=>”route.name'
    ,这是定义路由名称的内容

    阅读更多信息