我有一个奇怪的要求,我需要在所有本地链接的开头注入一个值。这是一个遗留的应用程序,而且相当大,所以我想在引擎盖下完成它,也许用一个猴子补丁。
基本上,如果我有一个 link_to "Go to dashboard", dashboard_path
或 link_to "Create a new Job", new_job_path
它们都会产生类似 "some_valuedashboard "和 "some_valuejobsnew "的链接。
试了几样东西,都失败了。有什么好办法吗?
你可以在你的helper中尝试这样的东西,而不是用猴子来修补link_to。
def custom_link_to(link, url, opts={})
url = "append_here/"+url
link_to(link, url, opts)
end
现在你可以调用这个动作,而不是在任何适用的地方调用link_to,如果你不想覆盖,也可以使用link_to。
custom_link_to("Go to Dashboard",dashboard_path,{})
更新
如果要覆盖所有的东西,类似这样的东西可能会有帮助----。猴子打补丁的Rails