0

ActiveRecord, vòng đời của ActiveRecord trong Ruby On Rails

  1. Mục tiêu của bài viết
  • Object Relational Mapping, Active record là gì và chúng được sử dụng trong rails như thế nào ?
  • Active Record phù hợp trong mô hình MVC như thế nào.
  • Làm thế nào để sử dụng active record models để thao tác với dữ liệu được lưu trong cơ sở dữ liệu quan hệ.
  • Quy tắc đặt tên active record.
  • Các khái niệm của database migrations, validations và callbacks.

MVC Active Record là phần M trong mô hình MVC, nó là lớp của hệ thống chịu trách nhiệm đại diện cho dữ liệu nghiệp vụ và logic. Cung cấp công cụ hỗ trợ việc tạo và sử dụng đối tượng mà dữ liệu của nó yêu cầu cần được lưu trữ vào cơ sở dữ liệu.

Active Record tương đương với một bảng trong CSDL. Active Record có chứa cả thuộc tính và phương thức.

Một bảng hiển nhiên có những thuộc tính, nhưng active record còn chưa những phưng thức để làm việc với bảng đó. (thêm, sửa, xóa, hiển thị ...)

Ta có thể hình dùng 1 Active record là một class và nó cũng đại diện cho 1 bảng trong CSDL. Một object tạo bởi Active record là 1 bản ghi trong CSDL.

Để tạo ra 1 ActiveRecord tương ứng với một bảng trong csdl. Ta khai báo lớp là tên bảng và kế thừa từ Application Record.

Cơ chế mà nó mapping được giữa CSDL và model.

Object Relational Mapping là kĩ thuật chuyển đổi dữ liệu giữa các hệ thống khác nhau. (Không phải là mô hình hướng đối tượng) sang các đối tượng trong ngôn ngữ lập trình hướng đối tượng. Trong trường hợp này ta chuyển đổi dữ liệu từ CSDL quan hệ sang sang đối tượng.

Active Record cung cấp cho mình một số cơ chế:

  • Đại diện cho mô hình và dữ liệu của họ.
  • Đại diện cho mối quan hệ giữa các model.
  • Kiểm tra dữ liệu trước khi chúng được lưu vào database.
  • Thao tác với database theo cơ chế hướng đối tượng.

Quy ước về cầu hình trong Active Record

Validate là một hành động kiểm tra tính đúng đắn của dữ liệu.

Khi ta phát triển phần mềm sử dụng các ngôn ngữ lập trình hoặc những framework ta phải viết rất nhiều cấu hình. Tuy nhiên nếu tuân theo quy ước được Rails áp dụng thì chỉ cần viết rất ít cấu hình. Cấu hình rõ ràng chỉ cần trong trường hợp không tuân thủ quy ước.

Quy ước đặt tên


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí