2014-06-09 63 views
1

这是我的控制器Laravel未能加载视图

class UsersController extends BaseController { 

    public function index() 
    { 
     $users = User::all(); 
     //echo $users->count(); 
     //exit; 
     return View::make('users.index', compact('users')); 
    } 

,你看,我已经尝试过检查users变量的数量,结果是2

在我views文件夹中我有这些文件夹:

users 
    index.blade.php 
layouts 
    users.blade.php 

这是我index.blade.php

@section('main') 

<h1>All Users</h1> 

<p>{{ link_to_route('users.create', 'Add new user') }}</p> 

@if ($users->count()) 
    <table class="table table-striped table-bordered"> 
     <thead> 
      <tr> 
       <th>Username</th> 
     <th>Password</th> 
     <th>Email</th> 
     <th>Phone</th> 
     <th>Name</th> 
      </tr> 
     </thead> 

     <tbody> 
      @foreach ($users as $user) 
       <tr> 
        <td>{{ $user->username }}</td> 
      <td>{{ $user->password }}</td> 
      <td>{{ $user->email }}</td> 
      <td>{{ $user->phone }}</td> 
      <td>{{ $user->name }}</td> 
        <td>{{ link_to_route('users.edit', 'Edit', 
array($user->id), array('class' => 'btn btn-info')) }}</td> 
        <td> 
      {{ Form::open(array('method' 
=> 'DELETE', 'route' => array('users.destroy', $user->id))) }}      
          {{ Form::submit('Delete', array('class' 
=> 'btn btn-danger')) }} 
         {{ Form::close() }} 
        </td> 
       </tr> 
      @endforeach 

     </tbody> 

    </table> 
@else 
    There are no users 
@endif 

@stop 

,这是我users.blade.php

<!doctype html> 
<html> 
    <head> 
     <meta charset="utf-8"> 
     <link href="//netdna.bootstrapcdn.com/twitter-bootstrap 
/2.3.1/css/bootstrap-combined.min.css" rel="stylesheet"> 
     <style> 
      table form { margin-bottom: 0; } 
      form ul { margin-left: 0; list-style: none; } 
      .error { color: red; font-style: italic; } 
      body { padding-top: 20px; } 
     </style> 
    </head> 

    <body> 

     <div class="container"> 
      @if (Session::has('message')) 
       <div class="flash alert"> 
        <p>{{ Session::get('message') }}</p> 
       </div> 
      @endif 

      @yield('main') 
     </div> 

    </body> 

</html> 

当我要求这个网址http://localhost:8082/laravel/public/users我得到了一个空白页面。

虽然如果我将index.blade.php的内容更改为test test,我在我的浏览器中获得了test test

我错过了什么?

谢谢。

回答

2

看起来您没有在用户/索引模板中的任何位置提及要扩展布局/用户文件的位置。将此线添加到顶端,应该足够了:

@extends('layouts.users') 
+0

是的,这是行得通的。 WOOOOOOOW。非常感谢。 –