好的标题是混乱的,伊利诺伊州第一个告诉你,我的问题:Overring一个Rails核心混入方法,并仍然能够调用旧方法
的polymorphic_url
方法是在Rails的2.2.1改为包括一些额外的功能我需要。但是,我想让应用程序仍然在旧版本的Rails中工作,所以如果旧版Rails版本正在运行,我想要修补2.2.1行为。
alias_method_chain
要救人吗?我无法得到它的工作。
def polymorphic_url_with_compat(*args)
whatever...
return polymorphic_url(*args)
end
alias_method_chain :polymorphic_url, :compat
现在,我第一次尝试把这个在助手 - 因为polymorphic_url
心不是通过再定义alias_method_chain
失败。 所以我把相同的代码移到了控制器中,它没有错误,但它被忽略。 然后我尝试使用插件将其修补到ApplicationController :: Base中 - polymorphic_url
仍未定义。
polymorphic_url
在模块ActionController :: PolymorphicRoutes中定义。我真的不知道它何时/何地混入控制器/视图。
如何以我想要的方式包装此方法?
不错:)。 thx EmFi! – reto 2009-11-02 17:09:28