Đá quý will_paginate bị hỏng trên phiên bản Oracle của tôi. Phương thức mặc định paginate_by_sql
trong mô-đun WillPaginate đang chèn thêm 'AS' vào truy vấn và làm cho nó thất bại.Ghi đè phương thức mô-đun từ đá quý trong Rails
Bản thân mã có thể dễ dàng sửa, nhưng tôi không chắc cách nào tốt nhất để Rails nhận thay đổi của tôi.
Tôi không muốn thay đổi mã trong đá quý, vì điều đó sẽ khiến mã của tôi bị hỏng trên các máy khác.
tôi đã cố gắng tạo ra một tập tin lib/test.rb chứa:
module WillPaginate
def paginate_by_sql
(my code goes here)
end
end
và yêu cầu nó từ environment.rb, nhưng nó không nhặt thay đổi của tôi. Tôi cũng đã cố gắng yêu cầu nó từ bộ điều khiển/application.rb, nhưng một lần nữa, không chọn lên thay đổi của tôi.
Tạm thời, tôi nhận nó hoạt động bằng cách ghi đè phương pháp trong chính mô hình cụ thể, nhưng đây là một chút hack và có nghĩa là tôi không thể sử dụng nó trên bất kỳ mô hình nào khác trong dự án này.
Tôi chắc chắn có một cách dễ dàng để thực hiện việc này, nhưng tôi không có bất kỳ may mắn nào theo dõi nó bằng Google.
Nếu mã đá quý bị hỏng, chắc chắn nó bị hỏng ở khắp mọi nơi? Bạn đã đăng nhập một lỗi với dự án chưa? http://wiki.github.com/mislav/will_paginate/report-bugs –
Chưa - lỗi trong một trường hợp xử lý các trường hợp cụ thể. Nguyên nhân là vì tôi đang sử dụng bộ chuyển đổi oracleenhanced (chứ không phải là oracle hoặc oci). Tôi nghĩ rằng hầu hết các ppl đang sử dụng adapter oracle và sẽ không được chạy vào điều này) Sẽ được lỗi đăng nhập ngay anyway. –