Wie Monkey Patch in Ruby on Rails?
Ermöglicht die Verwendung einer realen Welt-Beispiel.
Möchte ich monkey patch WillPaginate::LinkRenderer.to_html Methode.
Bisher habe ich versucht:
- Erstellt eine Datei in den Ordner: lib/Affen/will_paginate_nohtml.rb
- Hinzugefügt in config/environments.rb: require 'Affen/will_paginate_nohtml' am Ende der Datei
- Innen, die Datei, das war mein code:
e
module Monkeys::WillPaginateNohtml
def to_html
debugger
super
end
end
WillPaginate::LinkRenderer.send(:include, Monkeys::WillPaginateNohtml)
Aber irgendwie, debugger nicht Durchlaufen. Sieht aus wie das patchen fehlgeschlagen ist.
Jede Hilfe würde geschätzt, danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Und was ist mit diesen 🙂 die Lösungen von @shingana, @kandadaboggu wird nicht funktionieren, da es kein "super" hier. Sie möchten rufen Sie original version nicht die super version.
Den Titel deiner Frage ist irreführend. Ehrlich gesagt, ich denke, dass Sie wahrscheinlich nur anpassen wollen, die will_paginate-Seiten-Liste-Struktur, was kann anders gemacht werden.
Also in Ihrem Fall der richtige Weg ist die Erweiterung der renderer. Zum Beispiel laden Sie das folgende aus einem Initialisierer (über config/Initialisierungen):
Dann, um Ihre Nutzung dieser renderer fügen Sie den folgenden in deine config/environment.rb-Datei:
Ich glaube, Sie brauchen, öffnen Sie die Methode
Versuchen Sie dies: