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>£{{ 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'
,这是定义路由名称的内容
阅读更多信息