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ạiadmin/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ànhadmin/news/edit/3
thank you