ruby on rails 1.2.6 和 ActiveMerchant

Posted

技术标签:

【中文标题】ruby on rails 1.2.6 和 ActiveMerchant【英文标题】:ruby on rails 1.2.6 and ActiveMerchant 【发布时间】:2010-12-06 08:07:21 【问题描述】:

我正在尝试使用旧版本的 Rails (1.2.6) 运行 ActiveMerchant gem。如果我需要 active_merchant gem,我会收到此错误:

config/boot.rb:17:Warning: Gem::SourceIndex#search support for String patterns is deprecated, use #find_name
/usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:280:in `activate': can't activate activesupport (>= 2.3.2, runtime) for ["activemerchant-1.4.2"], already activated activesupport-1.4.4 for ["rails-1.2.6"] (Gem::LoadError)
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:296:in `activate'
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:295:in `each'
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:295:in `activate'

无法升级导轨。 所以我该怎么做? 如果可以的话,也许我可以使用旧版本的 ActiveMerchant,什么版本适用于 rails 1.2.6?

【问题讨论】:

【参考方案1】:

尝试作为插件安装:

git clone git://github.com/Shopify/active_merchant.git vendor/plugins/active_merchant

【讨论】:

我认为这不会开箱即用,因为该插件似乎需要 lib/active_merchant.rb 中的 activesupport >= 2.0.0:github.com/Shopify/active_merchant/blob/master/lib/… 它工作,见第 28 行。既然成功了,它永远不会到达第 31 行。 这可能是在这种情况下采取的最佳方法。我有一个仍然是 Rails 1.2.6 的应用程序,这个问题已经出现了好几次。第二次之后,我们只是 fork ActiveMerchant 并作为插件安装。我们现在在 Github 上为旧的 rails 应用程序维护我们自己的 AM 版本。 AM真的不会经常改变。大多数代码是稳定的并且经过良好测试,大部分新更改是新网关。我们在旧版 Rails 应用程序中使用了两个网关,因此我们并不真正关心新添加的内容。【参考方案2】:

如果您要积极开发具有新功能的应用,请花时间升级到 rails 2.3。

这很痛苦,我同意,但是坚持使用旧版本的 Rails 并使用更新的、不兼容的 gem 会更糟!

花时间投资 Rails 升级,您会非常高兴。想象一下您将获得的所有 rails 2.x 优点!

【讨论】:

问题是“无法升级 rails。”【参考方案3】:

正如 Ariejan 所说,更新到 Rails 2.3 是您能做的最佳

Active Merchant 不会为他们的项目标记不同的版本。所以你不能依赖它。 但是,您可以使用 Rails 1.2.6 发布时的旧提交。

发布是24th november 2007 因此,在发布之前使用 datas as they were at the last commit 应该可以工作。

但是我不建议你这样做。如果从那一刻起有安全更新(而且是两年前。所以你可以很确定有),你的应用程序包含一个安全漏洞。 再一次,升级到 Rails 2.3 是您可以采取的最佳选择。

【讨论】:

问题是“无法升级 rails”。在不了解情况的情况下,不能说升级到 Rails 2.3 是最佳选择。 感谢您投反对票。我知道这样做是不合适的。而且我想我已经足够多地提到了升级更好的事实。

以上是关于ruby on rails 1.2.6 和 ActiveMerchant的主要内容,如果未能解决你的问题,请参考以下文章

思考Ruby On Rails的底层代码(Ruby on Rails 開發秘籍 | Ruby on Rails 快速入門)

Ruby on Rails入门篇

如何在 ruby​​ on rails 中访问 rails 助手和嵌入资产 javascript 文件中的 ruby​​?

Mac上配置 Ruby on Rails和Git

第一个Landing Page的制作方法(Ruby on Rails 開發秘籍 | Ruby on Rails 快速入門)

Ruby on Rails和recaptcha