【问题标题】:Upgrading Rails 2.3.2 to Rails 2.3.14将 Rails 2.3.2 升级到 Rails 2.3.14
【发布时间】:2012-09-11 05:38:02
【问题描述】:

我被赋予了一个相当大的旧版 Rails 2.3.2 应用程序的责任,我被要求向这个应用程序添加一个相当复杂的 RESTful API,以 JSON 格式输出数据。

经过研究,我得出的结论是,考虑到 API 调用的性质,使用 RABL gem 可能是最好的计划。但是,我看到 RABL 的依赖项需要 ActiveSupport 2.3.14。

现在,我假设我不能同时让 ActiveSupport 2.3.2 和 ActiveSupport 2.3.14 在同一个应用程序中运行,如果我理解正确,如果我升级 ActiveSupport,那么我将需要升级其余的由于依赖要求,Rails 包也是如此。

谁能告诉我 Rails 2.3.2 和 Rails 2.3.14 之间的区别,或者我可以在哪里找到这些信息,以便我了解我是否可能会破坏某些现有功能?

另外,如果两个版本的 Rails 之间存在一些严重差异,有人可以推荐 RABL 的替代品吗?我看过很多其他的,例如 Jsonify、JBuilder、Tequila 等,但 RABL 确实很有吸引力,因为它通过视图而不是像其他一些控制器那样在控制器中构建响应。

【问题讨论】:

  • 第 1 步是放入 Rails 2.3.14 并运行您的测试套件。看看有什么,如果有的话。
  • 是的,谢谢。如果我能的话我会的。可以说,以前开发这个遗留应用程序的开发人员不喜欢更新测试用例的“开销”。我对这个系统最大的麻烦之一是完全缺乏测试:-(

标签: ruby-on-rails json rabl


【解决方案1】:

好吧,最后我不能使用 RABL gem,或者任何其他的。

两个版本的 ActiveSupport 之间的差异导致应用在 I18n 方法中中断。

我不能 100% 确定这是否是适用于所有应用程序的内在差异,或者这是否是这个遗留应用程序所特有的,因为原始开发人员在构建应用程序时做了一些非常规的事情,我怀疑,已经在一些地方破解了基本的 Rails 代码。

但是,我最终使用 json 和 json_pure gems 生成了我需要的 JSON,它们非常简单地允许您从散列生成 JSON。它们工作得很好,不需要许多其他 gem 所需的许多依赖项。

这确实意味着您必须在控制器内部组装散列,这对我的思维方式不太理想,因为它应该只是另一个视图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多