首页 > 解决方案 > 使用带变量的控制器路由时出现问题

问题描述

我使用 Laravel 路线如下。

    Route::get('report/centos7/{id}', 'HomeController@centos7');

然后在 Controller 中,我使用此代码返回 View。

    \View::make('report/centos7/', $id);

发生如下错误。

    InvalidArgumentException in FileViewFinder.php line 137:
    View [report.centos7.] not found.

我将 URL 称为“mysite/laravelproject/public/report/centos7/result_target2”

我使用 Laravel 5.2 第一次在 Controller 中使用此代码 return \View::make('report/centos7/'. $id); 但是,没有加载 CSS 和 JS。我想是因为“。” 这就是我从“。”更改的原因。至 ”,”

路线

Route::get('report/centos7/{id}', 'HomeController@centos7');

家庭控制器

public function centos7($id)
{
    //
    return \View::make('report/centos7', $id);
}

我已将“blade.php”动态添加到文件夹 view/report/centos7/xxxx.blade.php 我创建了一个新页面来列出该文件夹中的所有文件并链接每个文件以以刀片格式显示报告。我希望 Laravel 到 Controller 的路线可以帮助我以刀片格式访问我的报告谢谢你的帮助。我是编程语言的新手

更新

我在路线中删除了 {id} 如下

Route::get('report/centos7/{id}', 'HomeController@centos7');

Route::get('report/centos7/', 'HomeController@centos7');

并删除了 HomeController 中的 id 它也有效。但是,我仍然想将 $id 从 Route 发送到 HomeController 当我这样做时,我不知道为什么我的刀片 php 中没有加载 CSS。请帮忙。

更新(已解决)

谢谢大家如果有人和我有同样的问题,我将我的href更改为如下布局,它可以工作。

<link href="{{ URL::asset('theme/vendor/bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">

标签: laravel-5.2

解决方案


The main issue is the extra / in your view code:

\View::make('report/centos7/', $id);

If you change it to the following, it should all work correctly:

\View::make('report.centos7', $id);

Make sure that your HTML code is in the resources/views/report/centos7.blade.php file.


推荐阅读