La gema will_paginate se rompe en mi versión de Oracle. El método predeterminado paginate_by_sql
en el módulo WillPaginate es insertar un 'AS' 'extra en una consulta y hacer que falle.Anulando un método de módulo de una gema en Rails
El código en sí se soluciona fácilmente, pero no estoy seguro de la mejor manera de que Rails recoja mi cambio.
No quiero cambiar el código en la gema, ya que eso dejará mi código dañado en otras máquinas.
intenté crear un archivo lib/test.rb que contiene:
module WillPaginate
def paginate_by_sql
(my code goes here)
end
end
y requiriendo desde environment.rb, pero no es recoger mis cambios. También traté de requerirlo desde los controladores/application.rb, pero de nuevo, no recogiendo mis cambios.
Temporalmente, lo tengo que trabajar anulando el método dentro del modelo específico en sí, pero esto es un poco complicado, y significa que no puedo usarlo en ninguno de los otros modelos de este proyecto.
Estoy seguro de que hay una manera fácil de hacerlo, pero no estoy teniendo suerte siguiendo su rastro con Google.
Si el código de la gema está roto, seguramente está roto en todas partes? ¿Has registrado un error en el proyecto? http://wiki.github.com/mislav/will_paginate/reportbugs –
Todavía no - el error está en un bloque manejando casos específicos de Oracle. La causa es porque estoy usando el adaptador con oráculo mejorado (en lugar del oráculo u oci). Creo que la mayoría de las personas están usando el adaptador Oracle y no se encontrarán con esto) En cualquier caso, se registrará el error de todos modos. –