问题标签 [alias-method-chain]
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 - 在开发模式下在 Ruby on Rails 上使用 alias_method_chain 的自定义助手 [REDMINE]
我想用 alias_method_chain 的原理自定义 Redmine 的方法link_to_issue
,application_helper
以保持插件中的 Redmine 代码干净,但我遇到了问题。
首先,这是补丁文件,application_helper_patch.rb
:
和init.rb
插件的:
该解决方案在生产模式下完美运行,但在开发模式下无法运行。当我启动应用程序时,我遇到了这个问题:
为什么call_hook
在开发模式下方法未定义?
谢谢
ruby-on-rails - 带有 alias_method_chain 的未定义方法
我的模型具有属性 html。当我尝试将 alias_method_chain 与 setter html= 一起使用时,我收到错误undefined method `name=' for class `Banner'
但我将 alias_method_chain 与另一个属性一起使用。
方法已定义
ruby-on-rails - alias_method 和 alias_method_chain 有什么区别?
我正在开发我的网络应用程序,我想覆盖一个方法,例如,如果原始类是
我想覆盖 foo 方法,可以这样做
我可以像这样调用新旧方法
那么,如果我可以像我一样访问并保留这两种方法,那么 alias_method_chain 有什么用呢?
ruby-on-rails - 如何在 Ruby on Rails 中为 alias_method_chain 添加别名?
我有一个别名方法:
我正在尝试为上述方法声明一个别名方法链:
有没有更好的方法可以将别名用于别名方法链?
PS:我宁愿不喜欢为同一个别名方法声明别名方法链两次。
ruby-on-rails - 我可以使用 module#prepend 而不是 alias_method_chain 来解决这个问题吗?
我正在解决 Devise Token Auth gem 中的一个问题。
我可以使用它,alias_method_chain
但我想知道我是否可以module#prepend
在这种情况下使用它?
注意:我们使用的是 ruby 2.2.x
现存的:
ruby-on-rails - 预先添加到包含/扩展的模块
我正在从 usingModule#alias_method_chain
转移到Module#prepend
.
但是有一种情况我无法实现相同的功能
假设我有一个库代码(实际上是两个库,其中一个增强了另一个)
现在,假设我想object#random_number
返回 5。我的旧代码是
模仿这个使用Module#prepend
可以通过两种方法达到预期的结果
Extender.prepend Prepender
之前 调用object.extend Extender
(不是一个选项,因为我无法控制外部库中的代码)- 调用
object.extend Prepender
而不是(Extender.prepend Prepender
不是一个选项,因为object
对象在外面不可见)
有什么建议吗?
ruby - 如何将 redmine 插件升级到 rails 5,现在不推荐使用 alias_method_chain
故事模式
刚开始学习 RoR,但是在短时间内我需要在我们的项目中添加类似于Loading images from LDAP (incompatible version) 的功能。项目被放弃了,我找不到任何相关的信息/文档,所以我在这里寻求帮助。解决方案,教程,任何东西都可以工作。
错误日志
需要更新的猴子补丁
插件\redmine_gemavatar\lib\application_helper_gemavatar_patch.rb:
我的尝试/文章
我在这里找到了好文章How To Replace alias_method_chain,但我不太确定如何将prepend
样式应用于 redmine 插件的猴子补丁。只是无法让它工作:/
rubygems - 从 Rails4 升级到 Rails5 时如何修复 activeuuid gem 错误
我正在将我的应用程序从 rails 4 更新到 rails 5。我的应用程序正在使用 activeuuid gem。activeuuid gem 在内部使用 alias_method_chain 并且此方法在 rails 5 中已弃用。现在,当我尝试启动 rails 控制台时,出现错误-
ActiveRecord::ConnectionAdapters::Column:Class (NoMethodError) 的未定义方法“alias_method_chain”
无论如何我可以继续在rails 5中使用activeuuid gem并且不需要做任何返工吗?