我有一个Laravel 5.2实例,它利用仪表板,案例,家庭,登录/注销和用户(运行良好)的所有典型的开箱即用路线。我现在需要创建一个带有步骤的向导(步骤1,步骤2,步骤3等),我需要访问会话。我将它们分配给组中间件。
Route::group(['middleware' => 'web'], function () {
Route::get('/', function () {
// Uses Web middleware
});
Route::get('wizard/step1', [
'as' => 'wizard/step1', 'uses' => 'Wizard\WizardController@getStep1']);
Route::get('wizard/step2', [
'as' => 'wizard/step2', 'uses' => 'Wizard\WizardController@getStep2']);
});
但是,当我转到指定的路线时,我收到404错误。 WizardController看起来像:
<?php
namespace App\Http\Controllers\Wizard;
use App\Http\Controllers\Controller;
use App\Http\Requests;
class WizardController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
//$this->middleware('guest');
}
/**
* Create the specified resource.
*/
public function getStep1()
{
return view('wizard.step1');
}
}
定义的视图是resources/views/wizard/step1.php.
理想情况下,我想重构它,以便向导是一个单独的组。但是,目前似乎没有什么能像我定义自定义路由一样。
答案 0 :(得分:1)
缓存路由时会发生这种情况。除非清除路由缓存,否则永远不会识别您添加的新路由条目。
您可以使用php artisan route:clear
删除缓存的路由。
由于您将在dev env中频繁更改路由,在开发环境中不执行路由缓存总是更好。
您可以通过仅在Git中运行artisan route:cache
作为部署后挂钩来实现,或者只将其作为Forge部署过程的一部分运行。因此,每次在服务器中部署代码时,都会自动缓存路由。
答案 1 :(得分:0)
我通过运行命令解决了我的问题:
<强> php artisan route:clear
强>
这可让Artisan删除您的路线缓存,您可以确保路线同步。
感谢您的帮助!