Hỏi về Route trong Laravel

Mọi người cho e hỏi tí ạ, e đang tập làm trang tin tức giống video này: https://youtu.be/NhxEb4PdcbQ?t=5m
nhưng không hiểu sao cái form action="" nếu đặt theo kiểu của họ
< form action="admin/newsedit/{{$news->id}}" method="POST" enctype="multipart/form-data">
thì đường dẫn của e bị nối thêm => Website/public/admin/newsedit/admin/newsedit/2

Nếu e để action của form chỉ có id thôi thì lại chạy đc, nhưng chỉ ở 2 trang khác
<form action="{{$subcate->id}}" method="POST">
còn trang này thì nó lại báo lỗi


Mọi người giúp e với ạ, e cảm ơn

Bạn nói rõ hơn đi. action khi browser là gì trong đoạn code này?

khi submit <form action="{{$subcate->id}}" method="POST"> nó chuyển đến đây ạ:
Website/public/admin/subcateedit/3
(id =3)

Có phải khi xem form này thì địa chỉ trên trình duyệt là Website/public/admin/subcateedit không?

Không ạ, khi xem form này thì địa chỉ nó vẫn là Website/public/admin/subcateedit/3
khi submit thì nó bỏ số 3 đi và thêm cái action của form vào, thế nên nếu viết theo kiểu
admin/newsedit/{{$news->id}} thì sẽ bị lặp lại admin/newsedit/ ạ.
Bây giờ submit cái form newsedit nó không ra đc action="{{$news->id}}" nữa ạ, mặc dù ở trên nó vẫn in ra đc giá trị của/{{$news->id}}

Update: đã tìm ra lỗi r ạ, do link redirect trong hàm ở Controller, e thiếu cái id nên nó không trả về đc

Mình thấy đường dẫn của bạn không đươc “đẹp” lắm.
Bạn nên viết theo chuẩn RESTful
Ví dụ sửa admin/newsedit/3 thành admin/news/edit/3

1 Like

:smile: thank you :smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?