未定义路由 [threads.storev]。 Laravel 8 如何制作这条路线?
Posted
技术标签:
【中文标题】未定义路由 [threads.storev]。 Laravel 8 如何制作这条路线?【英文标题】:Route [threads.storev] not defined. Laravel 8 How to make this route? 【发布时间】:2021-12-28 16:46:27 【问题描述】:我一直收到此错误,但我不确定如何创建此路由来解决此问题。 有人可以帮我在我的 web.php 文件中创建这条路线。 提前感谢您抽出宝贵时间查看此问题。 大家度过了美好的一天。 错误图像->
错误 -> 文本
Symfony\Component\Routing\Exception\RouteNotFoundException
Route [threads.storev] not defined. (View: C:\projetos\forum8\resources\views\threads\createv.blade.php)
http://127.0.0.1:8000/threads/createv
createv.blade.php 文件中我的路由
<form action="route('threads.storev')" method="post" enctype="multipart/form-data">
我用这个函数调用视图。
public function createv()
//create thread
return view('threads.createv');
storev 公共函数
public function storev(Request $request)
try
$thread = $request->all();
$creds = $request->validate([
'op_post_image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'title' => ['required'],
'body' => ['required']
]);
if ($image = $request->file('op_post_image'))
$destinationPath = 'media/uploads';
$profileImage = date('YmdHis') . "." . $image->getClientOriginalExtension();
$image->move($destinationPath, $profileImage);
$input['op_post_image'] = "$profileImage";
$thread = new Thread();
$thread['slug'] = Str::slug($creds['title']);
$thread->title = $creds['title'];
$thread->body = $creds['body'];
$thread->op_post_image = $input['op_post_image'];
$user = Auth::user();
$user->threads()->save($thread);
dd('Tópico criado com sucesso');
catch (\Exeption $e)
dd($e->getMessage());
我的路线
Route::get('/', function ()
return view('welcome');
);
Route::get('/threads/createv', [App\Http\Controllers\ThreadController::class, 'createv']);
Route::resource('threads', 'App\Http\Controllers\ThreadController');
Auth::routes();
Route::get('/', [App\Http\Controllers\ThreadController::class, 'index'])->name('home');
Route::middleware(['auth', 'verified'])->group(function ()
Route::resource('profile', 'App\Http\Controllers\ProfileUp');
);
【问题讨论】:
是threads.storev
而不是threads.store
? `create 方法/路由也一样?
是的,它是threads.storev,因为threads.store 我已经拥有并用于另一个验证,但是当我运行route:list 时,它没有列出threads.storev。任何想法如何解决这一问题?感谢您的评论。
【参考方案1】:
在你的路由文件中添加web.php
:
Route::post('/threads/storev', [App\Http\Controllers\ThreadController::class, 'storev'])->name('threads.storev');
【讨论】:
hoo ok 我访问线程/storev 工作正常。谢谢人 没问题。祝你好运)以上是关于未定义路由 [threads.storev]。 Laravel 8 如何制作这条路线?的主要内容,如果未能解决你的问题,请参考以下文章