laravel 5.58中edit方法的加载视图页面中的css和js路径损坏

时间:2019-04-07 14:03:04

标签: laravel routing laravel-5.8

我是laravel的新手,所以我在laravel中做一个项目。我需要更新一条记录,因此当我加载编辑表单时,如果我未在url中传递更新ID,则js和css路径会损坏。没问题。

下面是我的代码

编辑网址为

<a href="/editmarriagepackage/1">Edit</a>

web.php

Route::get('/editmarriagepackage/{id}','AdminController@editmarriagepackage');

Admincontroller.php

  public function editmarriagepackage($id){

      $data['action']='/updatemarriagepackage';
      return view('admin.Addmarriagepackage',$data);

  }

header.php

 <!-- CSS Files -->
  <link href="assets/css/material-dashboard2.min.css" rel="stylesheet" />
  <!-- CSS Just for demo purpose, don't include it in your project -->
  <link href="assets/demo/demo.css" rel="stylesheet" />

问题是CSS和js路径分别显示为http://127.0.0.1:8000/editmarriagepackage/assets/css/material-dashboard2.min.csshttp://127.0.0.1:8000/editmarriagepackage/assets/demo/demo.css

这里“ editmarriagepackage”是不需要的。如果是,那么实际路径必须为http://127.0.0.1:8000/assets/css/material-dashboard2.min.css。那么当我使用Route :: get('/ editmarriagepackage','AdminController @ editmarriagepackage')时,不会发生此问题。 ;

所以问题是,当我通过url传递id时,控制器中的函数名出现在css和js路径中

1 个答案:

答案 0 :(得分:3)

在您看来,您必须使用asset帮助程序来生成静态资产文件。 这样会根据document_root生成正确的路径。

因此,假设文件/文件夹位于公共文件夹中:

没有刀片

<!-- CSS Files -->
<link href="<?php echo asset('assets/css/material-dashboard2.min.css'); ?>" rel="stylesheet" />

<!-- CSS Just for demo purpose, don't include it in your project -->
<link href="<?php echo asset('assets/demo/demo.css'); ?>" rel="stylesheet" />

使用Blade (推荐)

<!-- CSS Files -->
<link href="{{ asset('assets/css/material-dashboard2.min.css') }}" rel="stylesheet" />

<!-- CSS Just for demo purpose, don't include it in your project -->
<link href="{{ asset('assets/demo/demo.css') }}" rel="stylesheet" />