【问题标题】:Downgrading Michael Hartl's Rails application to Rails 2 [closed]将 Michael Hartl 的 Rails 应用程序降级到 Rails 2 [关闭]
【发布时间】:2012-06-22 22:38:06
【问题描述】:

我通过扩展 Michael Hartl's Rails 3 tutorial 构建(破解)我的网络应用程序,却发现我的网络托管服务需要 Rails 2.3.8。我是 Ruby/Rails 的新手,想知道从 Rails 3.x 降级到 Rails 2.x 的可行性。

很遗憾,我的虚拟主机无法升级到 Rails 3。

编辑

更具体地说:我的应用程序主要基于上述教程。我正在寻找将 Rails 3 教程应用程序降级为 Rails 2 应用程序所涉及的工作类型。无论如何我都会尝试一下,但由于我对 Ruby/Rails 缺乏经验,所以在开始之前,我只是想知道会发生什么(即,是否会有很多语法更改,或者我是否必须重组文件目录等)

【问题讨论】:

  • 您的问题到底是什么——可行吗?事实上,这是一个无法回答的问题。我们没有您的源代码来查看您到底在做什么,并且您已经发布了指向通用教程页面的链接。请对其进行编辑以提供更多信息,否则它可能会被关闭为“不是一个真正的问题”或“没有建设性”(因为这是一个讨论/推测/意见类型的问题,在这里不合适)。谢谢。
  • 我恭敬地提出,如果您的托管服务提供商无法为您提供有效的 Rails 3.x 安装,那么是时候寻找其他托管服务提供商了。 Rails 3 已经发布近两年了。
  • @KenWhite 很抱歉没有更具体。我已经更新了这个问题。这只是一个一般性问题,以了解将 Michael Hartl 的 Rails 3 教程应用程序降级到 Rails 2 需要多少努力。由于我的应用程序很大程度上基于教程应用程序,尽管我缺乏 Ruby/Rails 经验,如果降级教程应用程序足够简单,我想我可以降级我自己的应用程序,否则我可能需要寻找其他替代方案。感谢您的帮助。
  • 本教程专门针对 Rails 3,并且有足够的差异,没有经验,您最好使用不同的方法。 IMO 的第一个选择是更新的主机。
  • 不管你的主机如何,你能不能只使用 bundler 来使用 Rails 3?如果没有,请转储它们。

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-2


【解决方案1】:

你不想这样做,这是一个非常糟糕的主意,你最终会用奇怪的错误消息永远追逐你的尾巴,当你问他们时,你会是一个非常不寻常的案例。

要么

  • 找到支持 Rails 3 的主机,同时为 Rails 4 做好准备 (tee-hee)
  • 在 amazon 或 ebay 上寻找适合 rails 2 的(许多)书籍(此时可能仍然是大多数)。
  • 使用 Heroku - 许多人使用 Heroku 来免费上线,然后在需要更多时使用低成本。

关于 Rails 的主要特点是版本升级很快 - 每个版本的代码结构都发生了很大变化。与其他更成熟的技术相比,您必须更加努力地避免技术债务。

【讨论】:

    【解决方案2】:

    同意“新主机”的建议。我没有降级应用程序,但我在大型应用程序上所做的升级需要数周时间。所以我的回答是,我想尝试还不够可行,而且我已经使用 Rails 多年了。

    多年来,我一直拥有一个廉价的Dreamhost 帐户,并且它们始终保持最新状态。我也听说过有关 bluehost 的好消息。请注意,这两个共享提供商都是“物有所值”,但如果您重视自己的时间,那么它肯定值 7 美元,或者不花时间降级应用程序的任何月费。

    【讨论】:

      【解决方案3】:

      如果那是你真正想要的,它可以做到。但这是很多工作。我记得将一个非常大的应用程序从 rails 2 升级到 rails 3。您需要反过来执行此操作。我必须解决 gem 兼容性问题(一些 gem 只适用于 rails 3,现在可能更难获得对 rails 2 的支持),活动记录在过去的版本中有不同的 API,我什至不确定是否有链接特征。例如。而不是 Model.where,您通常会编写 Model.find(:conditions => {...}),如果您使用的是出现在 rails 3 中的通用 ajax 助手(带有 :remote => true),那么这些将不行。另外,我还会扫描 rails 更改日志以确保在 rails 3 中完成的任何安全补丁。可能是您将不得不在旧版本中自己加强某些地方的安全性。如果您的应用程序测试涵盖了(我希望您这样做:-)),那么旧版本的 rspec 或 cucumber 可能存在一些问题,但通常这些问题并没有那么大。我认为宝石兼容性是最大的问题。其余的或多或少是机械工作。查找和替换。

      祝你好运,但如前所述,如果您可以切换主机,那么我建议您这样做并坚持使用最新版本的 rails。

      【讨论】:

        猜你喜欢
        • 2012-08-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多