新手问题 关于 alias_method 的作用范围问题

ThanksSirAlec · 2018年04月02日 · 最后由 bryantn 回复于 2018年04月15日 · 1352 次阅读

自己在 ruby 中尝试用 alias_method 发现这个语句一定要写在定义方法之后使用才有效。但是在 rails 项目里看到 alias_method 都是写在最前面的,请教一下这个里面的区别。

就据我所知 alias 和 alias_method 都是要在原方法定义后才可用的,rails 应该没有拓展它们。 你说的情况我看不到代码,不知道是不是给父类或者引入的模块里的方法取了别名,然后再在下面重写了这些方法。

alias_method 这种很核心的方法 rails 应该不会去污染的,而且据标准库文档 alias_method 是给已定义好的方法取别名,想必父类中已经定义过同名方法了吧?

可能是重命名继承自超类的方法😄

有一个叫环绕别名的语法糖,可以引申学习下 😃

需要 登录 后方可回复, 如果你还没有账号请 注册新账号