Ruby on Rails - Cấu trúc thư mục
Khi bạn sử dụng tập lệnh của trình trợ giúp Rails để tạo ứng dụng của mình, nó sẽ tạo ra toàn bộ cấu trúc thư mục cho ứng dụng. Rails biết nơi để tìm những thứ nó cần trong cấu trúc này, vì vậy bạn không cần phải cung cấp bất kỳ đầu vào nào.
Đây là dạng xem cấp cao nhất của cây thư mục được tạo bởi tập lệnh trợ giúp tại thời điểm tạo ứng dụng. Ngoại trừ những thay đổi nhỏ giữa các bản phát hành, mọi dự án Rails sẽ có cấu trúc giống nhau, với các quy ước đặt tên giống nhau. Sự nhất quán này mang lại cho bạn một lợi thế to lớn; bạn có thể nhanh chóng di chuyển giữa các dự án Rails mà không cần phân bổ lại tổ chức của dự án.
Để hiểu cấu trúc thư mục này, hãy sử dụng demoứng dụng được tạo trong chương Cài đặt. Nó có thể được tạo bằng một lệnh trợ giúp đơn giảnrails demo.
Bây giờ, hãy vào thư mục gốc của ứng dụng demo như sau:
tp> cd demo
demo> dir
Bạn sẽ tìm thấy cấu trúc thư mục trong Windows như sau:
Bây giờ hãy giải thích mục đích của từng thư mục
app- Nó tổ chức các thành phần ứng dụng của bạn. Nó có các thư mục con chứa chế độ xem (chế độ xem và trình trợ giúp), trình điều khiển (bộ điều khiển) và logic nghiệp vụ phụ trợ (các mô hình).
app/controllers- Thư mục con bộ điều khiển là nơi Rails tìm kiếm các lớp bộ điều khiển. Bộ điều khiển xử lý yêu cầu web từ người dùng.
app/helpers- Thư mục con helpers chứa bất kỳ lớp helper nào được sử dụng để hỗ trợ các lớp model, view và controller. Điều này giúp giữ cho mã mô hình, chế độ xem và bộ điều khiển nhỏ, tập trung và gọn gàng.
app/models- Thư mục con mô hình chứa các lớp mô hình hóa và bọc dữ liệu được lưu trữ trong cơ sở dữ liệu của ứng dụng của chúng tôi. Trong hầu hết các framework, phần này của ứng dụng có thể phát triển khá lộn xộn, tẻ nhạt, dài dòng và dễ xảy ra lỗi. Rails làm cho nó chết đơn giản!
app/view - Thư mục con chế độ xem chứa các mẫu hiển thị để điền vào dữ liệu từ ứng dụng của chúng tôi, chuyển đổi sang HTML và quay lại trình duyệt của người dùng.
app/view/layouts- Giữ các tệp mẫu cho các bố cục được sử dụng với các khung nhìn. Điều này mô hình hóa phương pháp đầu trang / chân trang phổ biến của các khung nhìn bao bọc. Trong dạng xem của bạn, hãy xác định bố cục bằng cách sử dụng <tt> layout: default </tt> và tạo một tệp có tên default.html.erb. Bên trong default.html.erb, hãy gọi <% output%> để hiển thị chế độ xem bằng cách sử dụng bố cục này.
components - Thư mục này chứa các thành phần, các ứng dụng nhỏ độc lập gói mô hình, chế độ xem và bộ điều khiển.
config- Thư mục này chứa một lượng nhỏ mã cấu hình mà ứng dụng của bạn sẽ cần, bao gồm cấu hình cơ sở dữ liệu của bạn (trong database.yml), cấu trúc môi trường Rails của bạn (môi trường.rb) và định tuyến các yêu cầu web đến (route.rb). Bạn cũng có thể điều chỉnh hành vi của ba môi trường Rails để kiểm tra, phát triển và triển khai với các tệp được tìm thấy trong thư mục môi trường.
db- Thông thường, ứng dụng Rails của bạn sẽ có các đối tượng mô hình truy cập các bảng cơ sở dữ liệu quan hệ. Bạn có thể quản lý cơ sở dữ liệu quan hệ bằng các tập lệnh bạn tạo và đặt trong thư mục này.
doc- Ruby có một khuôn khổ, được gọi là RubyDoc, có thể tự động tạo tài liệu cho mã bạn tạo. Bạn có thể hỗ trợ RubyDoc với các nhận xét trong mã của bạn. Thư mục này chứa tất cả tài liệu ứng dụng và Rails do RubyDoc tạo ra.
lib - Bạn sẽ đặt các thư viện ở đây, trừ khi chúng rõ ràng thuộc về nơi khác (chẳng hạn như thư viện của nhà cung cấp).
log- Nhật ký lỗi ở đây. Rails tạo ra các tập lệnh giúp bạn quản lý các bản ghi lỗi khác nhau. Bạn sẽ tìm thấy các bản ghi riêng biệt cho máy chủ (server.log) và từng môi trường Rails (development.log, test.log và production.log).
public - Giống như thư mục công cộng cho máy chủ web, thư mục này có các tệp web không thay đổi, chẳng hạn như tệp JavaScript (public / javascripts), đồ họa (công khai / hình ảnh), bảng định kiểu (public / stylesheets) và tệp HTML (công khai ).
script- Thư mục này chứa các tập lệnh để khởi chạy và quản lý các công cụ khác nhau mà bạn sẽ sử dụng với Rails. Ví dụ, có những đoạn script để tạo mã (create) và khởi chạy máy chủ web (server).
test- Các bài kiểm tra bạn viết và những bài kiểm tra mà Rails tạo cho bạn, tất cả đều ở đây. Bạn sẽ thấy một thư mục con cho mocks (mô phỏng), unit tests (đơn vị), fixtures (đồ đạc) và chức năng (functions).
tmp - Rails sử dụng thư mục này để chứa các tệp tạm thời để xử lý trung gian.
vendor - Các thư viện được cung cấp bởi các nhà cung cấp bên thứ ba (chẳng hạn như thư viện bảo mật hoặc các tiện ích cơ sở dữ liệu ngoài bản phân phối Rails cơ bản) vào đây.
Ngoài các thư mục này, sẽ có hai tệp có sẵn trong thư mục demo.
README - Tập tin này chứa một chi tiết cơ bản về Ứng dụng Đường sắt và mô tả cấu trúc thư mục được giải thích ở trên.
Rakefile- Tệp này tương tự như Unix Makefile, giúp xây dựng, đóng gói và kiểm tra mã Rails. Điều này sẽ được sử dụng bởi tiện ích rake được cung cấp cùng với cài đặt Ruby.