我在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')
<div id="page-wrapper">
<div class="container-fluid">
<!-- Page Heading -->
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
Template <small>Template Page</small>
</h1>
<ol class="breadcrumb">
<li class="active">
<i class="fa fa-dashboard"></i> Template 1
</li>
</ol>
</div>
</div>
</div>
</div>
@endsection
与/字符使用的视图相同,除了内容部分中的内容。
这是&#34; master.blade.php&#34;: https://pastebin.com/kjnxc0ms
谢谢!
答案 0 :(得分:2)
在master.blade.php
版面中,资源是从相对网址
例如,如果您的资源是从assets/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
的正斜杠前缀资产路径。{{ asset('assets/css/bootstrap.min.css') }}
。答案 1 :(得分:1)
首先发布布局代码。
第二,确保使用帮助asset
来调用你的css,例如
{{ URL::asset('css/style.css'); }}