Le remplacement d'un module de méthode à partir d'un joyau dans les Rails

La will_paginate gem est cassé sur ma version d'Oracle. La valeur par défaut paginate_by_sql méthode dans le WillPaginate module est l'insertion d'un supplément de "COMME" dans une requête et le faire échouer.

Le code lui-même est facilement résolu, mais je ne suis pas sûr de la meilleure façon d'obtenir des Rails pour ramasser mon changement.

Je ne veux pas changer le code dans la pierre elle-même, comme cela va laisser mon code cassé sur d'autres machines.

J'ai essayé de créer une lib/test.rb fichier contenant:

module WillPaginate
  def paginate_by_sql
    (my code goes here)
  end
end

et demandant de l'environnement.rb, mais ce n'est pas de ramasser mes modifications.
J'ai aussi essayé l'obligeant à partir de contrôleurs/de l'application.rb, mais encore une fois, de ne pas décrocher de mes modifications.

Temporairement, je l'ai eu à travailler par la substitution de la méthode dans le modèle lui-même, mais c'est un peu un hack, et signifie que je ne peux pas l'utiliser sur les autres modèles dans ce projet.

Je suis sûr qu'il ya un moyen facile de faire cela, mais je ne suis pas du tout avoir la chance de suivi vers le bas à l'aide de Google.

  • Si la gemme code est cassé, sûrement, il est cassé de partout? Avez-vous enregistré un bug avec le projet? wiki.github.com/mislav/will_paginate/report-bugs
  • Pas encore le bug est dans un bloc de manutention oracle des cas spécifiques. La cause est parce que je suis en utilisant le oracleenhanced (plutôt que de l'oracle ou bec) de l'adaptateur. Je pense que la plupart des ppl sont à l'aide de l'oracle de l'adaptateur et ne pas être en cours d'exécution dans le présent) se connectera bug peu de temps de toute façon.
InformationsquelleAutor Dave Smylie | 2009-02-24