未定义路由 [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 如何制作这条路线?的主要内容,如果未能解决你的问题,请参考以下文章

vue路由器组件变量未定义

Laravel 路由错误:路由 [登录] 未定义

Laravel 表单路由未定义

将参数传递给路由时未定义路由

Laravel 8 中未定义命名路由

Laravel 路由未定义错误