1

我有一个转换一些模型数据的应用程序,我想对这些数据进行版本控制。所以这是我的设置:

  • 导轨 5.1.4
  • Ruby 2.4.1(带 RVM)
  • 全球化@大师
  • PaperTrail 用于翻译版本控制

我创建了一个拉取请求,应该将 rails 5 功能添加到globalize-versioning gem

我已经这样做了:

  • 更新 gemspec 和 Gemfile 以使用最新的 gem。
  • 修复已弃用的 ruby​​ 调用
  • 更新.travis.yml以便运行测试。

现在项目中的所有测试都失败了,我不太清楚如何将 paper_trail 功能添加到 globalize 的翻译对象中。

4

1 回答 1

2

alias_method_chain改错了。

alias_method :versioning, :setup_translates!
alias_method :setup_translates!, :versioning

这只是版本控制和 setup_translates 的别名!实际尝试的是alias_method_chain确保被覆盖的方法仍然是可调用的。

所以这:

alias_method_chain :setup_translates!, :versioning

应改为:

alias_method :setup_translates_without_versioning!, :setup_translates!
alias_method :setup_translates!, :setup_translates_with_versioning!

试试这是否能解决问题。

来源:别名方法链

于 2017-10-30T12:23:01.937 回答