【问题标题】:Route [threads.storev] not defined. Laravel 8 How to make this route?未定义路由 [threads.storev]。 Laravel 8 如何制作这条路线?
【发布时间】: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。任何想法如何解决这一问题?感谢您的评论。

标签: laravel routes laravel-8


【解决方案1】:

在你的路由文件中添加web.php:

Route::post('/threads/storev', [App\Http\Controllers\ThreadController::class, 'storev'])->name('threads.storev');

【讨论】:

  • hoo ok 我访问线程/storev 工作正常。谢谢人
  • 没问题。祝你好运)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-28
  • 2021-12-15
  • 2015-11-09
  • 2022-07-19
  • 2021-11-24
  • 2018-06-30
  • 2018-12-16
相关资源
最近更新 更多