2012-08-05 26 views
9

Tôi muốn tạo mô hình có tên là 'Tệp', nhưng đó là tên mẫu dành riêng là đường ray. Tôi không thể nghĩ bất cứ điều gì khác sane để gọi mô hình, vì vậy tôi đã tự hỏi nếu có một cách tiêu chuẩn để đối phó với vấn đề này, ví dụ như thêm một tiền tố hoặc hậu tố (_File, FileItem, vv)?Mô hình có từ khóa được đặt trước

Trả lời

8

Vấn đề này được giải quyết bằng modules:

Modules là một cách để nhóm lại với nhau các phương pháp, các lớp học, và hằng số. Mô-đun cung cấp cho bạn hai lợi ích chính:

  1. Mô-đun cung cấp không gian tên và ngăn chặn xung đột tên.
  2. Mô-đun triển khai cơ sở mixin.

[...]

Modules xác định một không gian tên, một sandbox, trong đó phương pháp của bạn và hằng có thể chơi mà không cần phải lo lắng về việc bị dẫm lên bởi phương pháp và các hằng số khác.

Trong trường hợp của bạn:

module MyRailsApp 
    class File 
    ... 
    end 
end 

theo đó lớp File của bạn được sử dụng như MyRailsApp::File. Đây là giải pháp điển hình trong Ruby, Ruby on Rails này có thể được xử lý khác nhau, vui lòng xem tài liệu tham khảo sau đây cho một trong cuộc thảo luận sâu:

+0

Làm cách nào để bạn đặt mô hình vào module trong đường ray? –

+0

@CameronMartin Không khác với bạn đặt một lớp học trong một mô-đun. –

+0

Bạn có thể tạo mô hình trong mô-đun bằng cách thực hiện 'đường ray tạo mô hình modulename/modelname' đúng không? Tốt hơn là đặt tất cả các mô hình của bạn trong một mô-đun hoặc chọn một tên không xung đột? –

Các vấn đề liên quan