Tôi có một số dữ liệu mà tôi muốn lưu trữ ở đâu đó trong ứng dụng Rails của mình vì tôi sử dụng nó để tạo các trường biểu mẫu, kiểm tra biểu mẫu đã gửi để đảm bảo giá trị của nó hợp lệ, v.v. Về cơ bản, tôi muốn dữ liệu một vị trí bởi vì tôi sử dụng nó ở một vài nơi.giá trị hằng số trong Rails
Trước đây, tôi đã xác định phương thức initialize
trong bộ điều khiển và khởi tạo biến mẫu trong phương thức đó, ví dụ: @graph_types = ['bar', 'line']
. Điều này có vẻ là một ý tưởng tồi bởi vì đó thực sự là tất cả initialize
đã được sử dụng cho (khởi tạo các giá trị đó) và các biến cá thể có thể được thay đổi sau đó, mà tôi không muốn.
Bây giờ, tôi xác định các hằng số bên ngoài bất kỳ phương pháp nào trong bộ điều khiển của tôi, ngay lên trên cùng sau bộ lọc của tôi và tôi cố định chúng, ví dụ: GraphTypes = ['bar', 'line'].freeze
.
Tôi không muốn lưu trữ dữ liệu đó trong tệp cấu hình vì sau đó tôi sẽ phải theo dõi tệp phụ, đọc trong tệp và phân tích cú pháp, v.v. Tôi không muốn lưu trữ dữ liệu này trong cơ sở dữ liệu bởi vì điều đó có vẻ như quá mức cần thiết; Tôi không cần phải thực hiện bất kỳ truy vấn loại LEFT OUTER JOIN nào kết hợp các loại biểu đồ có sẵn với một hằng số khác của tôi, giả sử Themes = ['Keynote', 'Odeo', '37 Signals', 'Rails Keynote'].freeze
. Tôi không muốn lưu trữ dữ liệu trong môi trường.rb vì dữ liệu này chỉ liên quan đến một bộ điều khiển cụ thể.
Xem xét tất cả điều này, tôi sẽ nói về 'cách Ruby' này?
Nơi nào bạn đặt các lớp học? Bạn có định vị nó với các mô hình của mình không? – ahsteele
Vâng, tôi đặt nó vào thư mục mô hình, nhưng nó có lẽ sẽ tốt hơn nếu đặt nó trong lib. – user37011