Как обезьян патч в рубин на рельсах?
-
26-09-2019 - |
Вопрос
Позволяет использовать настоящий мир.
Я хочу обезьян патч Willpaginate :: MinkRenderer.to_html Метод.
Пока я пробовал:
- Создан файл в папке: lib / monkeys / will_paginate_nohtml.rb
- Добавлено в конфигурацию / среда.
- Внутри этого файла это был мой код:
свидетельствовать
module Monkeys::WillPaginateNohtml
def to_html
debugger
super
end
end
WillPaginate::LinkRenderer.send(:include, Monkeys::WillPaginateNohtml)
Но каким-то образом отладчик не пропускается. Похоже, патчи не удалось.
Любая помощь будет оценена, спасибо!
Решение
А как насчет этого :-) решения @Shingana, @kandadaboggu не будет работать, так как здесь нет "супер". Вы хотите позвонить оригинал Версия не то супер версия.
module WillPaginate
class LinkRenderer
alias_method :to_html_original, :to_html
def to_html
debugger
to_html_original
end
end
end
Другие советы
Название вашего вопроса вводит в заблуждение. Честно говоря, я думаю, что вы, вероятно, просто хотите настроить структуру списка страниц Will_Pagatine, которая может быть сделана по-разному.
Так что в вашем случае правильный путь - продлить рендер. Например, загрузить следующее из инициализатора (через конфигурацию / инициализаторы):
class CustomPaginationRenderer < WillPaginate::LinkRenderer
def to_html
# Your custom code, debugger etc
end
end
Затем, чтобы ваше приложение использовать этот рендерер, добавьте следующее в файл Config / enducial.rb:
WillPaginate::ViewHelpers.pagination_options[:renderer] = 'CustomPaginationRenderer'
Я думаю, что вам нужно открыть метод
module WillPaginate
class LinkRenderer
def to_html
debugger
super
end
end
end
Попробуй это:
class WillPaginate::LinkRenderer
def to_html
debugger
super
end
end