问题标签 [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.

0 投票
1 回答
1090 浏览

ruby-on-rails - 在开发模式下在 Ruby on Rails 上使用 alias_method_chain 的自定义助手 [REDMINE]

我想用 alias_method_chain 的原理自定义 Redmine 的方法link_to_issueapplication_helper以保持插件中的 Redmine 代码干净,但我遇到了问题。

首先,这是补丁文件,application_helper_patch.rb

init.rb插件的:

该解决方案在生产模式下完美运行,但在开发模式下无法运行。当我启动应用程序时,我遇到了这个问题:

为什么call_hook在开发模式下方法未定义?

谢谢

0 投票
1 回答
773 浏览

ruby-on-rails - 带有 alias_method_chain 的未定义方法

我的模型具有属性 html。当我尝试将 alias_method_chain 与 setter html= 一起使用时,我收到错误undefined method `name=' for class `Banner' 但我将 alias_method_chain 与另一个属性一起使用。

方法已定义

0 投票
1 回答
623 浏览

ruby-on-rails - alias_method 和 alias_method_chain 有什么区别?

我正在开发我的网络应用程序,我想覆盖一个方法,例如,如果原始类是

我想覆盖 foo 方法,可以这样做

我可以像这样调用新旧方法

那么,如果我可以像我一样访问并保留这两种方法,那么 alias_method_chain 有什么用呢?

0 投票
0 回答
153 浏览

ruby-on-rails - 如何在 Ruby on Rails 中为 alias_method_chain 添加别名?

我有一个别名方法:

我正在尝试为上述方法声明一个别名方法链:

有没有更好的方法可以将别名用于别名方法链?

PS:我宁愿不喜欢为同一个别名方法声明别名方法链两次。

0 投票
1 回答
962 浏览

ruby-on-rails - 我可以使用 module#prepend 而不是 alias_method_chain 来解决这个问题吗?

我正在解决 Devise Token Auth gem 中的一个问题

我可以使用它,alias_method_chain但我想知道我是否可以module#prepend在这种情况下使用它?

注意:我们使用的是 ruby​​ 2.2.x

现存的:

0 投票
0 回答
98 浏览

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对象在外面不可见)

有什么建议吗?

0 投票
3 回答
2033 浏览

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 插件的猴子补丁。只是无法让它工作:/

0 投票
2 回答
298 浏览

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并且不需要做任何返工吗?