我在Laravel中有两个主要观点.
两者在web.php中的调用如下:
Route::get('/characters', 'CharacterController@index');
Route::get('/characters/{char_id}', 'CharacterController@viewCharacter');
这是他们在CharacterController中的功能:
/字符:
public function index()
{
$characters = Character::userChars();
return view('pages.characters', compact('characters') );
}
字符/ {char_id}:
public function viewCharacter ($char_id)
{
$character = \DB::table('characters')->where('char_id', $char_id)->first();
return view('pages.view-character', compact('character') );
}
/字符工作正常.
它用
@extends('layouts.master')
@section('content')
@endsection
所有内容加载正常,并且显示CSS.
但是,字符/ {char_id}拒绝正常工作.
它显示@extends中的内容,但根本不会呈现CSS.
这是字符/ {char_id}的刀片模板:
@extends('layouts.master')
@section('content')
Template Template Page
@endsection
除了内容部分中的内容外,它与/ characters使用的视图相同.
谢谢!
解决方法:
在您的master.blade.php布局中,资产是从相对网址加载的
因此,例如,如果您的资产是从asset / css / bootstrap.min.css加载的,而您当前的网址是example.com/character,则您的资产将从example.com/assets/css/bootstrap.min.css加载.到目前为止看起来还不错
但是,如果您的网址是example.com/characters/potato,则将从example.com/characters/assets/css/bootstrap.min.css加载资产.这很容易从浏览器控制台中识别出来,因为加载资产时会显示404错误. (镀铬的F12)
两种解决方案:
>在/assets/css/bootstrap.min.css之类的正斜杠前面添加资产路径.
> laravel特定的解决方案是使用资产帮助器功能{{asset(‘assets / css / bootstrap.min.css’)}}.
标签:laravel-5-4,laravel-5,php
来源: https://codeday.me/bug/20191111/2019157.html