Lỗi js ở project
Như e đã nhìn thấy thì trong DB có 2 bản ghi được tạo ra, đó là bởi vì e đã submit form 2 lần (click button 2 lần đó).
Ngay lần đầu tiên là e đã join event được rồi, nhưng phải click lần thứ 2 thì nó mới ẩn modal đi và thay button bởi vì:
- Khi submit form lần đầu,
create.js.erb
chạy thì nó mới chỉ gán việc lắng nghe sự kiện click cho button#confirm-join
, trước đó chưa có nên nó không xử lý ẩn modal và thay button như e mong muốn. - Sau đó e submit form lần nữa (click lần thứ 2) thì lúc này button đã có xử lý sự kiện click nên nó thực thi hàm xử lý: ẩn modal, thay button.
Trong trường hợp này e sửa lại create.js.erb
chỉ cần để nội dung xử lý sau khi click button confirm join là được, bởi vì create.js.erb
được chạy sau khi submit form, cũng tương đương với việc e click button kia rồi nên k phải lắng nghe sự kiện đó nữa.
À mà lúc chạy e thử inspect element lên xem đoạn này nó sinh ra html là gì vậy? https://github.com/BlazingRockStorm/let-us-go/blob/join-event/app/views/attendances/_form.html.erb#L20
Vì button_to
là sinh ra form mà e lại dùng trong 1 form nữa có bị form lồng form k?
https://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-button_to
A nghĩ e đang muốn sinh ra button submit thôi, có thể dùng button_tag type: 'submit'
là đc.
P/S: Lần sau e post các code liên quan lên câu hỏi luôn nhé, k nên vứt nguyên repo lên bắt ng khác mò code như vậy.
Cách xoá dữ liệu triệt để
Khi bạn dùng delete_all
hay destroy_all
thì bạn mới chỉ xoá các bản ghi của bảng, còn giá trị AUTO_INCREMENT
của bảng vẫn chưa được reset nên khi tạo bản ghi mới nó sẽ tiếp tục tăng chứ không bắt đầu từ 1.
Để xoá hết bản ghi của bảng và đồng thời reset giá trị AUTO_INCREMENT
, bạn dùng TRUNCATE
nhé: Model.connection.truncate(Model.table_name)
. Ví dụ: User.connection.truncate(User.table_name)
Tổ chức
Chưa có tổ chức nào.