2014-11-05 87 views
0

我正在学习Laravel,并且我创建了一个项目。Laravel 4 - 初学者愚蠢的错误

我工作的导航栏,结构如下:

  • 导航栏包含2个链接:一个到根/另一种“liste_sites”路线 的liste_sites路线所称的“ACCUEIL “用布尔设置为1路,表示我一定要显示

下面的代码哪一种信息: routes.php文件文件

Route::get('/', array('uses' => '[email protected]', 'as' => 'accueil')); 
Route::get('liste_sites', '[email protected]_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 ,我再次从导航栏中点击它...铬说这个ERR_CONNECTION_REFUSED。 我真的不明白为什么它不起作用。

我注意到,当我再次点击,从

http://localhost/mynet/public/liste_sites 

的URL更改

https://localhost/mynet/public/liste_sites 

回答

1

的问题是你的路。您应该使用URL::to()URL::route(如果您已命名路线),以使其正常工作。现在,一些路径与当前url相关,因此href属性会附加到当前路径。

你可以的名称添加到您的路线:

Route::get('/', array('uses' => '[email protected]', 'as' => 'accueil')); 
Route::get('liste_sites', array('uses' => '[email protected]_sites', 'as' => 'lists_sites'); 

现在你可以使用

<a class="navbar-brand" href="{{ URL::route('accueil') }}">Accueil</a> 

和替代link_to你现在可以使用link_to_route帮手,因为你的路线现在的名称。

+0

我应该在哪里使用它? – 2014-11-05 10:39:40

+0

它正在工作。我现在知道了。 你可以编辑你的答案,在第二条路线上添加'用途'吗? 谢谢 – 2014-11-05 10:49:15