自己在 ruby 中尝试用 alias_method 发现这个语句一定要写在定义方法之后使用才有效。但是在 rails 项目里看到 alias_method 都是写在最前面的,请教一下这个里面的区别。
alias_method
就据我所知 alias 和 alias_method 都是要在原方法定义后才可用的,rails 应该没有拓展它们。 你说的情况我看不到代码,不知道是不是给父类或者引入的模块里的方法取了别名,然后再在下面重写了这些方法。
alias_method 这种很核心的方法 rails 应该不会去污染的,而且据标准库文档 alias_method 是给已定义好的方法取别名,想必父类中已经定义过同名方法了吧?
可能是重命名继承自超类的方法
有一个叫环绕别名的语法糖,可以引申学习下