讓我們使用一個真實世界的例子。如何在Ruby on Rails中修補猴子?
我想猴子補丁WillPaginate :: LinkRenderer.to_html方法。
到目前爲止,我曾嘗試:
- 創建文件夾中的文件:在配置/ environments.rb的lib /猴/ will_paginate_nohtml.rb
- 補充:需要 '猴子/ will_paginate_nohtml' 在結束文件
- 在這個文件中,這是我的代碼:
Ë
module Monkeys::WillPaginateNohtml
def to_html
debugger
super
end
end
WillPaginate::LinkRenderer.send(:include, Monkeys::WillPaginateNohtml)
但不知何故,調試器不會通過。看起來修補失敗。
任何幫助將不勝感激,謝謝!
+ 1因爲補丁時沒有「超級」,儘管我更喜歡@vise的回答來定製渲染器(並且會有一個「超級」)。 – hurikhan77 2010-09-30 19:06:51
我已經有點想念alias_method_chain了,它的唯一一個月已經過去了 – 2010-09-30 19:13:49
@MattBriggs你在說什麼?它仍然存在於4.0.2中:http://apidock.com/rails/Module/alias_method_chain – Chloe 2014-03-28 16:04:16