首页 > 解决方案 > Laravel - 刀片未在浏览器中加载

问题描述

我有一个新的 Laravel 项目,似乎无法正确加载 Blade。

我查看了 Laravel.com 上的文档,观看了 Laracasts 上的视频,并尽可能多地扫描了 Stackoverflow,但我仍然无法弄清楚。你能帮我吗?!

好的,这是我目前所拥有的:

网页.php

Route::get('/', [
    'uses' => 'RentsController@index',
    'as' => 'layouts.index'
    ]);

租金控制器.php

public function index()
{
    $rents = DB::table('rents')
        ->orderByDesc('price')
        ->get();
    return view('layouts.index', ['rents' => $rents]);
}

index.blade.php

<div class="container">
    <p>test</p>
    @yield('content')
</div>

search.blade.php

@extends ('layouts.index')

@section ('content')
    <p>title</p>
    <h1>test</h1>
    <ul>
        @foreach ($rents as $rent)
        <li>{{ $rent->price }}</li>
        @endforeach
    </ul>
@endsection

文件结构:

视图 -> 布局 -> index.blade.php 视图 -> search.blade.php

因此,每当我将 @section('content') 中的代码直接粘贴到文件 index.blade.php 中时,它都能完美运行。但是,正如我现在所拥有的那样,search.blade.php 中没有任何内容出现在浏览器中,也没有错误。

知道它可能是什么吗?

多谢你们!!我非常感谢您提供的任何帮助、提示、问题和评论。:)

标签: phplaravel-5.4laravel-blade

解决方案


实际上,我不知道您为什么在路由和控制器中指定布局。在控制器中返回您的页面模板就足够了:

网页.php

Route::get('/','RentsController@index');

租金控制器.php

public function index()
{
    $rents = DB::table('rents')
        ->orderByDesc('price')
         ->get();
    return view('search', compact('rents'));
}

在使用布局时,使用就足够了@extends ('layouts.index'),模板会识别它。


推荐阅读