Tôi đã xây dựng một ứng dụng Rails thực hiện chức năng kế toán. Là một phần của điều này, tôi có một mô hình với tên lớp là Transaction
. Cho đến nay rất tốt, tôi đã xây dựng chức năng này trong một tháng hoặc lâu hơn và mọi thứ đang hoạt động như mong đợi.Giải quyết xung đột tên lớp trong ứng dụng Rails
Cho đến bây giờ ...
Tôi vừa phát hiện một số chức năng báo cáo cũ hơn được phát triển tháng trước bằng thư viện Ruport đã ngừng hoạt động. Có vẻ như Ruport, khi tạo tệp PDF, yêu cầu thư viện cũng có một lớp/mô-đun có tên là Transaction
.
TypeError in Admin/team reportsController#generate
Transaction is not a module
...
This error occurred while loading the following files:
pdf/writer
transaction/simple
Vì vậy, tôi đang tìm cách khắc phục nhanh ở đây. Một hy vọng không liên quan đến việc đổi tên mô hình Transaction
của mình và tái cấu trúc mã giá trị trong vài tuần qua.
Mong một số gợi ý thông minh :)
Cảm ơn. Tôi đã thay đổi câu trả lời của bạn cho câu trả lời được chấp nhận vì nó mô tả chính xác hơn vấn đề cụ thể mà tôi có - mặc dù Yannis, câu trả lời cũng chính xác! Cuối cùng tôi sử dụng để đổi tên mô hình, bảng cơ sở dữ liệu và tất cả các liên kết bằng cách sử dụng một số skool cũ tìm và thay thế;) – aaronrussell
Trong phiên bản mới hơn của Rails, 'set_table_name' chỉ là' self.table_name = ', xem http://api.rubyonrails.org/classes/ActiveRecord/ModelSchema/ClassMethods.html#method-i-table_name-3D –