ไม่พบหน้าข้อผิดพลาด 404 (laravel 5.8) (เช่นเส้นทางปุ่ม)

ฉันต้องการเพิ่มปุ่มถูกใจในโพสต์ของฉัน แต่เมื่อฉันคลิกที่ปุ่มได้รับข้อผิดพลาด 404

นี่คือมุมมองของฉัน

<form action="{{route('user.like', ['postId' => $post->id, 'userId' => Auth::user()->id])}}" method="POST">
@csrf
<input class="btn btn-success" type="submit" role="button" value="like"/>
</form>

เส้นทาง

Route::post('/user{userId}/post{postId}/like',[
    'uses' => 'postController@like',
    'as' => 'user.like'
]);

และนี่คือตัวควบคุมของฉัน

    public function like($postId, $userId){
        $user = User::findOrFail($userId);
        $user->votedPosts()->attach($postId);
        return redirect()->back();
    }

ฉันไม่รู้จริงๆ ว่าทำไมฉันถึงได้รับข้อผิดพลาด 404


person alien    schedule 17.09.2019    source แหล่งที่มา
comment
ลองแก้ไขเป็น Route::post('like/{postId}/{userId}',[ 'uses' => 'postController@like', 'as' => 'user.like' ]);   -  person Joseph    schedule 18.09.2019
comment
ขอบคุณมาก. คุณมีลิงค์หรืออะไรว่าทำไมเราถึงทำเช่นนี้?   -  person alien    schedule 18.09.2019
comment
ในเส้นทางของคุณ คุณผ่าน userId จากนั้น postId แต่ในตัวควบคุม คุณทำตรงกันข้าม   -  person Joseph    schedule 18.09.2019
comment
โปรดทำเครื่องหมายคำตอบว่ายอมรับแล้ว   -  person Joseph    schedule 18.09.2019
comment
ฉันกำลังพยายามอยู่แต่เว็บไซต์แจ้งเตือนและบอกว่าต้องรอ 3 นาที!   -  person alien    schedule 18.09.2019
comment
คุณต้องรอ 3 นาที :(   -  person Joseph    schedule 18.09.2019
comment
คุณรู้ไหมว่าทำไมฉันถึงต้องรอ?   -  person alien    schedule 18.09.2019
comment
ไม่จริง ๆ ฉันไม่อาจจะแค่ตรวจสอบคำตอบที่ดีที่สุดเท่านั้น   -  person Joseph    schedule 18.09.2019


คำตอบ (1)


ในขณะที่คุณพยายามผูกตัวแปรในเส้นทางของคุณ มันเขียนด้วยวิธีนี้ {userId} ไม่ใช่ userId{userId}

มันจะเป็นเช่นนี้

Route::post('like/{postId}/{userId}',[ 
  'uses' => 'postController@like', 
   'as' => 'user.like' ]);

คุณสามารถตรวจสอบเพิ่มเติมได้ใน เอกสาร

person Joseph    schedule 17.09.2019