这里定义了我的一些路线:
Route::get('/success', function () {
return view('dashboard/dashboard');
});
Route::get('/test/{id?}','TestController@parameter' );
Route::get('/redd','TestController@redirectest' );
这是控制器方法:
public function redirectest(){
return redirect()->route('dashboard.dashboard');
}
现在我有两个名为
的视图 test.blade.php
dashboard.blade.php //In view/dashboard
这是test.blade.php视图,只有一个链接可以通过控制器方法重定向到仪表板。
<html>
<body>
<h2><a href="/lvel/public/redd/">Click Me To Redirect to DashBoard</a>
</h2>
</body>
</html>
现在我要做的就是单击test.blade.php中的视图链接时直接重定向到dashboard.blade.php
但是我得到了
Route [dashboard.dashboard] not defined
请帮助您如何为此定义路线或解决方案。 我是Laravel的新手。 谢谢。
答案 0 :(得分:3)
您必须按照documentation命名路线:
Route::get('/success', function () {
return view('dashboard/dashboard');
})->name('dashboard.dashboard');
答案 1 :(得分:3)
要使用route()
函数,您需要为路由指定以下名称:
Route::get('/success', function () {
return view('dashboard/dashboard');
})->name('dashboard.dashboard');
答案 2 :(得分:3)
Route::get('/dashboard','TestController@dashBoard')->name('dash_board');
public function dashBoard()
{
return view('dashboard'); //redirect to view file
}
<a href="{{ route('dash_board') }}">DashBoard</a>
答案 3 :(得分:1)
我希望它能正常工作
select t.*, regexp_substr(file_id, '^[0-9]+') as file_id
from t;
答案 4 :(得分:1)
尝试这个简单的解释
Error: Cannot perform an interactive login from a non TTY device
Route file
Route::get('/dashboard','TestController@dashboard')->name('dashboard');
or
Route::get('/dashboard', ['as'=>'dashboard', 'uses'=>'TestController@dashboard']);
TestController.php
public function dashboard()
{
return view('dashboard'); //blade file
}
test.blade.php
答案 5 :(得分:1)
每个人都已经回答了您的问题(尤其是@ka_lin),是否需要重定向,您只需执行一个简单命名的路由并使用以下命令重定向到它即可:
Route::get('/success', function () {
return view('dashboard/dashboard');
})->name('dashboard.dashboard');
要进一步扩展答案,将每个动作添加到Controller
总是一个很好的逻辑,您可能会问为什么。因为如果您想通过使用命令php artisan route:cache
进行缓存来优化路由,则会遇到问题:此命令不适用于Closure based routes
(又名匿名函数)。
通过将路由传递到Controller,您可以拥有基于类的路由所带来的巨大优势。
一个例子是:
Route::get('/dashboard/dashboard','TestController@dashboard' )->name('dashboard.dashboard');
,在dashboard
函数中,您可以像在Closure
中一样调用视图:
return view('dashboard/dashboard');
更不用说,一切都保持在逻辑小隔间中。