CRUD in Rails

Tram Ho

CRUD là cách viết tắt cho bốn hành động được sử dụng để thao tác với data: Create, Read, Update và Delete. Trong Rails, Active Record sẽ tự động tạo ra các method cho phép bạn thao tác với dữ liệu trong cơ sở dữ liệu mà không cần phải viết các câu query thông thường. Tất cả công việc bạn cần làm chỉ là gọi các method tương ứng và Active Record sẽ giúp bạn thực thi các truy vấn với cơ sở dữ liệu.

1. Create

Active Record objects có thể được tạo từ một hash, một block, hoặc là có thể truyền trực tiếp các giá trị của các thuộc tính của object khi gọi hàm create. new method sẽ chỉ trả về một object mới mà không lưu vào database, nếu muốn lưu bạn phải gọi thêm method save, trong khi đó create sẽ trả về một object mới và lưu luôn vào database. Như vậy bạn có thể hiểu create là tổng hợp của hai method newsave.
Ví dụ, có một model User với hai trường: name và occupation, khi method create được gọi thì một record mới sẽ được tạo mới và lưu vào trong database.

Còn đối với new chúng ta sẽ phải gọi thêm method save để record mới được lưu vào database.

2. Read

Active Record cung cấp rất nhiều API để có thể truy cập đến dữ liệu trong database. Dưới đây là một vài ví dụ đơn giản về một số method mà Active record cung cấp.

Bạn có thể tìm hiểu các method mà Active Record cung cấp ở đây Active Record Query Interface

3. Update

Một khi một Active Record object đã được tạo mới thì bạn có thể thay đổi các thuộc tính của nó và lưu vào database.

Một cách viết ngắn gọn hơn:

Nếu bạn muốn update nhiều record một lúc, bạn có thể sử dụng method update_all

4. Delete

Một Active Record object cũng có thể bị destroy và nó sẽ bị xóa ngay trong database

Bạn cũng có thể xóa nhiều records một lúc với method destroy_bydestroy_all

Nguồn tham khảo: https://guides.rubyonrails.org/active_record_basics.html

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo