2014-11-05 97 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