01/10/2018, 11:20

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

Mason Ha viết 13:35 ngày 01/10/2018

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

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

ATuan viết 13:21 ngày 01/10/2018

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

Mason Ha viết 13:26 ngày 01/10/2018

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

ATuan viết 13:35 ngày 01/10/2018

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}}

ATuan viết 13:29 ngày 01/10/2018

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

Mason Ha viết 13:26 ngày 01/10/2018

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

ATuan viết 13:32 ngày 01/10/2018

thank you

Bài liên quan
0