Ruby on Rails 2.1 - Framework

Khung là một chương trình, tập hợp các chương trình và / hoặc thư viện mã viết hầu hết các ứng dụng cho bạn. Khi bạn sử dụng một khuôn khổ, công việc của bạn là viết các phần của ứng dụng để làm cho nó thực hiện những điều cụ thể mà bạn muốn.

Khi bạn bắt đầu viết một ứng dụng Rails, bỏ qua một bên cấu hình và các công việc nội trợ khác, bạn phải thực hiện ba tác vụ chính:

  • Describe and model your application's domain- Miền là vũ trụ của ứng dụng của bạn. Miền có thể là cửa hàng âm nhạc, trường đại học, dịch vụ hẹn hò, sổ địa chỉ hoặc kho phần cứng. Vì vậy, bạn phải tìm ra những gì trong đó, những thực thể nào tồn tại trong vũ trụ này, và các vật phẩm trong đó liên quan với nhau như thế nào. Điều này tương đương với việc mô hình hóa cấu trúc cơ sở dữ liệu để giữ các thực thể và mối quan hệ của chúng.

  • Specify what can happen in this domain- Mô hình miền tĩnh. Bạn phải làm cho nó năng động. Địa chỉ có thể được thêm vào sổ địa chỉ. Điểm âm nhạc có thể được mua từ các cửa hàng âm nhạc. Người dùng có thể đăng nhập vào một dịch vụ hẹn hò. Sinh viên có thể đăng ký các lớp học tại một trường đại học. Bạn cần xác định tất cả các tình huống hoặc hành động có thể xảy ra mà các phần tử trong miền của bạn có thể tham gia.

  • Choose and design the publicly available views of the domain- Tại thời điểm này, bạn có thể bắt đầu suy nghĩ theo thuật ngữ trình duyệt Web. Khi bạn đã quyết định rằng miền của mình có sinh viên và họ có thể đăng ký lớp học, bạn có thể hình dung trang chào mừng, trang đăng ký hoặc trang xác nhận, v.v. Mỗi trang hoặc dạng xem này cho người dùng thấy mọi thứ ở điểm nhất định.

Dựa trên ba nhiệm vụ trên, Ruby on Rails xử lý một khuôn khổ Model / View / Controller (MVC).

Ruby on Rails MVC Framework

Các Model View CNguyên tắc ontroller chia công việc của một ứng dụng thành ba hệ thống con riêng biệt nhưng hợp tác chặt chẽ.

Mô hình (ActiveRecord)

Duy trì mối quan hệ giữa Đối tượng và Cơ sở dữ liệu và xử lý xác thực, liên kết, giao dịch, v.v.

Hệ thống con này được triển khai trong ActiveRecord thư viện, cung cấp giao diện và ràng buộc giữa các bảng trong cơ sở dữ liệu quan hệ và mã chương trình Ruby thao tác các bản ghi cơ sở dữ liệu.

Tên phương thức Ruby được tạo tự động từ tên trường của bảng cơ sở dữ liệu.

Active Record cũng cung cấp các công cụ tìm kiếm dựa trên thuộc tính động và một số phương pháp trợ giúp khác giúp tương tác với cơ sở dữ liệu dễ dàng và hiệu quả.

Xem (ActionView)

Đây là một bản trình bày dữ liệu theo một định dạng cụ thể, được kích hoạt bởi quyết định trình bày dữ liệu của người kiểm soát. Chúng là các hệ thống tạo mẫu dựa trên tập lệnh như JSP, ASP, PHP và rất dễ tích hợp với công nghệ AJAX.

Hệ thống con này được triển khai trong ActionViewthư viện, là một hệ thống dựa trên Ruby được nhúng (ERb) để xác định các mẫu trình bày để trình bày dữ liệu. Mọi kết nối Web với ứng dụng Rails dẫn đến việc hiển thị một dạng xem.

ActionView giúp tách các chi tiết của bản trình bày khỏi logic kinh doanh cốt lõi của ứng dụng của bạn.

Bộ điều khiển (ActionController)

Cơ sở bên trong ứng dụng hướng lưu lượng truy vấn, một mặt truy vấn các mô hình để tìm dữ liệu cụ thể, và mặt khác, tổ chức dữ liệu đó (tìm kiếm, sắp xếp, tổng hợp dữ liệu) thành một dạng phù hợp với nhu cầu của một dạng xem nhất định.

Hệ thống con này được triển khai trong ActionController, là một môi giới dữ liệu nằm giữa ActiveRecord (giao diện cơ sở dữ liệu) và ActionView (công cụ trình bày).

Trình bày của Khung MVC

Một đại diện bằng hình ảnh của Ruby on Rails Framework được đưa ra ở đây:

Biểu diễn thư mục của MVC Framework

Giả sử cài đặt tiêu chuẩn, mặc định trên Linux, bạn có thể tìm thấy chúng như thế này -

tp> cd /usr/local/lib/ruby/gems/1.8/gems
tp> ls

Bạn sẽ thấy các thư mục con bao gồm (nhưng không giới hạn) như sau:

  • actionpack-x.y.z
  • activerecord-x.y.z
  • rails-x.y.z

Qua cài đặt Windows, bạn có thể tìm thấy chúng như thế này -

C:\>cd ruby\lib\ruby\gems\1.8\gems
C:\ruby\lib\ruby\gems\1.8\gems\>dir

Bạn sẽ thấy các thư mục con bao gồm (nhưng không giới hạn) như sau:

  • actionpack-x.y.z
  • activerecord-x.y.z
  • rails-x.y.z

ActionView và ActionController được nhóm lại với nhau trong ActionPack.

ActiveRecord cung cấp một loạt các kỹ thuật lập trình và phím tắt để thao tác dữ liệu từ cơ sở dữ liệu SQL. ActionController và ActionView cung cấp các phương tiện để thao tác và hiển thị dữ liệu đó. Đường ray gắn kết tất cả chúng lại với nhau.