问题标签 [alias-method]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - alias_method、alias_method_chain 和 self.included
我有点难以理解alias_method
/ alias_method_chain
。我有以下代码:
这正是我想要的 - 将“顶部有樱桃”附加到任何form_for
呼叫的顶部。
但我的理解是,由于某些原因,这不是好的代码。首先,它不会链接任何其他覆盖,form_for(?)
所以如果我要编写第二个form_for
附加“顶部还有另一个樱桃”的方法,它就不会显示。其次,alias_method
并且alias_method_chain
是过时的解决方案,我应该使用self.included
& 发送到模块。
但是我不能self.included
调用这个form_for
方法——它只是一直调用父方法。这是我正在尝试的:
我的上述解决方案有效,但我怀疑这是错误的做事方式。如果任何红宝石老手可以向我展示一种更优雅的方式 - 和/或为什么不调用第二个解决方案 - 我将不胜感激。
ruby-on-rails - Ruby/Rails: alias_method practices
I'm trying to override Rails' "fields_for" method, which I'm currently doing as follows:
The functionality works just fine, but I'm starting to suspect that my use of alias_method isn't the most elegant. Most especially, if I were to package this functionality into a gem, and there were another gem that overrode fields_for, am I write in thinking either my new fields_for OR the alternate fields_for would be skipped?
Assuming so, what's the correct way to go about slapping in some extra functionality to an existing rails method?
Cheers...
ruby - 我可以在 Ruby 中删除方法别名吗?
假设我有一段 Ruby 代码,我想在其中给一个方法起别名(我不知道为什么;假设我有一个很好的理由)。
在本节之后,我是否可以删除此别名?
ruby-on-rails - 为什么 alias_method 在 Rails 模型中失败
在第一次通话alias_method
中失败:
我的意思是当我这样做时它会失败Country.first
。
但是在控制台中我可以Country.first.langEN
成功调用,并且看到第二个调用也有效。
我错过了什么?
ruby-on-rails - 2 alias_method_chain -> 堆栈级别太深
我开发了两个插件,它们都修改了同一个类的相同alias_method_chain
方法,结果导致堆栈级别太深错误。
第一个插件:
第二个插件以相同的方式修改类,但具有不同的功能:
当我尝试调用此方法时,我得到:
一个可能但破解的解决方案是使用第一个插件功能对 redmine 代码进行简单的猴子补丁,以便第二个插件可以为它起别名而不会出现任何错误。
那么我该如何解决这个错误呢?
ruby - 多次为方法命名
我希望为一种原始方法设置两个别名,但我看不到alias_method
一次执行多个别名的能力,而是一个接一个。
那么有没有可能改变这个:
像这样:
我对创建自定义方法不感兴趣。
ruby-on-rails - 是否可以给 to_s 起别名?
to_s
我不想在我的模型中覆盖它,而是将其别名为一个名为full_name
.
两者似乎都没有按预期工作alias
。alias_method
使用alias
使用alias_method
ruby-on-rails - alias_method 和 alias_method_chain 有什么区别?
我正在开发我的网络应用程序,我想覆盖一个方法,例如,如果原始类是
我想覆盖 foo 方法,可以这样做
我可以像这样调用新旧方法
那么,如果我可以像我一样访问并保留这两种方法,那么 alias_method_chain 有什么用呢?
ruby - 如何访问父控制器的“布局”?
在我的一个控制器中,我想在某些条件下更改布局,否则保留父 ApplicationController 使用的默认布局(最初是“应用程序”,但我现在正在尝试其他一些布局)。尝试使用 alias_method 访问“布局”,但它似乎不起作用。我的代码:
这给出了一个错误: