Laravel 4 - 初学者愚蠢的错误
Posted
技术标签:
【中文标题】Laravel 4 - 初学者愚蠢的错误【英文标题】:Laravel 4 - beginner stupid error 【发布时间】:2015-01-01 12:08:37 【问题描述】:我正在学习 Laravel,我创建了一个项目。
我正在研究导航栏,结构如下:
导航栏包含 2 个链接:一个到根 / 另一个到“liste_sites”路由 liste_sites 路由调用 'accueil' 路由,布尔值设置为 1 以指示我必须显示哪种信息代码如下: routes.php 文件
Route::get('/', array('uses' => 'HomeController@accueil', 'as' => 'accueil'));
Route::get('liste_sites', 'HomeController@liste_sites');
HomeController.php 文件
private function gen_accueil()
return View::make('accueil', array('which_actif' => 0));
public function accueil()
return $this->gen_accueil();
public function liste_sites()
return View::make('accueil', array('which_actif' => 1));
模板在代码中包含以下内容: template_mynet.blade.php 文件(进入)
<nav class="navbar navbar-default">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/mynet/public">Accueil</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
@yield('navigation')
</ul>
</div>
</nav>
navigation.blade.php 文件
@section('navigation')
<li> link_to('liste_sites', 'Liste des sites', null, ($which_actif == 1)? array('class' => 'actif'): null )</li>
@stop
还有 accueil.blade.php 文件
@extends('template_mynet')
@include('navigation')
@section('content')
@if ($which_actif == 1)
HI BOY
@endif
@stop
现在,一切正常,从导航栏中单击“accueil”或“liste_sites”时,它会显示我想要的内容。 但是当我在页面上时 /public/liste_sites 然后我从导航栏中再次单击它... chrome 说这个 ERR_CONNECTION_REFUSED. 我真的不明白为什么它不起作用。
我注意到当我再次点击它时,URL 会发生变化
http://localhost/mynet/public/liste_sites
到
https://localhost/mynet/public/liste_sites
【问题讨论】:
【参考方案1】:问题是你的路径。您应该使用URL::to()
或URL::route
(如果您已命名路由)使其正常工作。现在有些路径是相对于当前 url 的,所以 href 属性被附加到当前路径。
您可以为路线添加名称:
Route::get('/', array('uses' => 'HomeController@accueil', 'as' => 'accueil'));
Route::get('liste_sites', array('uses' => 'HomeController@liste_sites', 'as' => 'lists_sites');
现在你可以使用
<a class="navbar-brand" href=" URL::route('accueil') ">Accueil</a>
现在您可以使用 link_to_route
助手而不是 link_to
,因为您的路线现在有了名称。
【讨论】:
我应该在哪里使用它? 它正在工作。我现在知道了。您可以编辑答案以在第二条路线上添加“用途”吗?谢谢以上是关于Laravel 4 - 初学者愚蠢的错误的主要内容,如果未能解决你的问题,请参考以下文章