Ruby on Rails 2.1 - Cấu trúc Dir

Khi bạn sử dụng tập lệnh trợ giúp của 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 của bạn. 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à chế độ xem cấp cao nhất của cây thư mục được tạo bởi tập lệnh trì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 học 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. Điều này có thể được tạo bằng cách sử dụng một lệnh trợ giúp đơn giản như sau:

C:\ruby\> rails -d mysql demo

Bây giờ, hãy vào thư mục gốc của ứng dụng demo như sau:

C:\ruby\> cd demo
C:\ruby\demo> dir

Bạn sẽ tìm thấy cấu trúc thư mục như sau:

demo/
..../app
......../controller
......../helpers
......../models
......../views
............../layouts
..../config
..../db
..../doc
..../lib
..../log
..../public
..../script
..../test
..../tmp
..../vendor
README
Rakefile

Bây giờ chúng ta 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. Nó 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 giữ 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.rhtml. Bên trong default.erb, hãy gọi <% output%> để hiển thị chế độ xem bằng cách sử dụng bố cục này.

  • 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 (environment.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 - Thư mục này là nơi tài liệu ứng dụng của bạn sẽ được lưu trữ khi được tạo bằng rake doc:app.

  • lib- Các thư viện dành riêng cho ứng dụng tại đây. Về cơ bản, bất kỳ loại mã tùy chỉnh nào không thuộc bộ điều khiển, mô hình hoặc trình trợ giúp. Thư mục này nằm trong đường dẫn tải.

  • 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 ). Điều này phải được đặt làm DOCUMENT_ROOT của máy chủ web của bạn.

  • 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ó các tập lệnh để tạo mã (tạo) và khởi chạy máy chủ web (server), v.v.

  • test- Các bài kiểm tra bạn viết và những 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) sẽ xuất hiện tại đâ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ởirake tiện ích được cung cấp cùng với cài đặt Ruby.