如何将自定义消息传递到 Laravel 5 中的 404 blade
How to pass custom message into 404 blade in Laravel 5
在某个路由中,如果通过id找不到猫,我return一个带有自定义消息的404:
App::abort(404, 'Invalid cat id');
我想将上面的自定义消息传递到 Laravel 的 404 blade,但我不知道如何将此消息放入其中。看来我必须破解一些 Laravel 的代码才能做到这一点。
我也试过这个,它确实显示了自定义消息,但是 http 状态代码是 200 而不是 404,这不是我想要的:
view('errors.404')->with('message', 'Invalid cat id');
我觉得在 Laravel 中必须有一种更简单、更标准化的方法来完成这种基本操作。正确的做法是什么?
到处都说你可以做一个简单的
abort(404, 'Invalid cat id');
但我没有在文档中找到它。我的解决方案:
View::share('message','Invalid cat id');
abort(404);
这将与所有视图共享 de $message 变量,您将获得 404 HTTP 代码。然后在 404.blade.php 文件中执行此操作:
{{ $message }}
您可以使用
return response()->view('errors.404', ['message' => 'Invalid cat id'], 404);
我就是这样做的:
return view('errors.404', ['msg' => 'some message']);
并在视图中(在 404.blade.php 文件中)写入:
{{ $msg }}
然后您将在视图中看到:
some message
在某个路由中,如果通过id找不到猫,我return一个带有自定义消息的404:
App::abort(404, 'Invalid cat id');
我想将上面的自定义消息传递到 Laravel 的 404 blade,但我不知道如何将此消息放入其中。看来我必须破解一些 Laravel 的代码才能做到这一点。
我也试过这个,它确实显示了自定义消息,但是 http 状态代码是 200 而不是 404,这不是我想要的:
view('errors.404')->with('message', 'Invalid cat id');
我觉得在 Laravel 中必须有一种更简单、更标准化的方法来完成这种基本操作。正确的做法是什么?
到处都说你可以做一个简单的
abort(404, 'Invalid cat id');
但我没有在文档中找到它。我的解决方案:
View::share('message','Invalid cat id');
abort(404);
这将与所有视图共享 de $message 变量,您将获得 404 HTTP 代码。然后在 404.blade.php 文件中执行此操作:
{{ $message }}
您可以使用
return response()->view('errors.404', ['message' => 'Invalid cat id'], 404);
我就是这样做的:
return view('errors.404', ['msg' => 'some message']);
并在视图中(在 404.blade.php 文件中)写入:
{{ $msg }}
然后您将在视图中看到:
some message