【问题标题】:LARAVEL Error: "Sorry, the page you are looking for could not be found."LARAVEL 错误:“抱歉,找不到您要查找的页面。”
【发布时间】:2019-01-29 17:14:33
【问题描述】:

我正在使用 laravel 5.5.45 版本并尝试第一次学习 Blade。我创建了一个文件views/layout/app.blade.php。并且想在views/contact.blade.php 中扩展app.blade.php 文件。我使用@yield 扩展了主刀片文件。

我需要对路由文件夹进行任何更改吗?

views/layout/views/layout/app.blade.php


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    @yield('content')

    @yield('footer')

</body>
</html>

views/contact.blade.php


@extends('layouts.app')

@section('content')
    <h1>Contact Pafg</h1>
@endsection

当我点击 URL localhost/cms/public/contact 时,我在标题中看到了错误。

【问题讨论】:

    标签: laravel-5.5 laravel-blade


    【解决方案1】:

    您需要在位于 routes 目录的 web.php 中添加自定义路由。

    在文件末尾添加以下代码以将定义的路由连接到您的视图。

    Route::get('contact', function () { return view('contact'); });

    终于可以通过 localhost/contact 访问了

    【讨论】:

      【解决方案2】:

      首先,您需要在浏览器上发出获取视图的请求。现在假设您的项目名称: cms 假设您正在调用 cms/contacts (这是一个获取请求,只是为了获取简单的刀片视图)。现在这将转到路由目录中的 web.php,您需要在其中处理该请求,例如

      Route::get('contact', function() { return view('contact'); })

      这里假设您的 contact.blade.php 在您的 resources/views/contacts.blade.php 路径中。如果它在任何另一个嵌套目录中,则需要添加该目录名称,例如返回视图('directory_name/contact');。 您可以使用控制器方法执行相同的操作,在这种情况下,您需要在路由文件中指定控制器和方法名称并在该方法中返回刀片。例如

      Route::get('contact', 'controller@methodName');
      

      要返回刀片,您需要使用 laravel 的 view('blade_name') 助手,而不必像 cms/public/contact 那样调用您的请求,只需使用 cms/contact 网址。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-05-15
        • 1970-01-01
        • 2018-04-22
        • 2016-11-15
        • 2018-07-31
        • 2018-09-06
        • 2018-09-15
        相关资源
        最近更新 更多