0

私は、かなり大規模なレガシー Rails 2.3.2 アプリの責任を負っています。JSON でデータを出力するかなり複雑な RESTful API をこのアプリに追加するよう依頼されました。

調査を行った結果、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 の 2 つのバージョンに重大な違いがある場合、RABL に代わるものを推奨できる人はいますか? 私は Jsonify、JBuilder、Tequila など、他のかなりの数を見てきましたが、RABL は、他の一部のようにコントローラーではなく、ビューを介して応答を構築するという点で非常に魅力的です。

4

1 に答える 1

0

結局、私は RABL gem を使用できませんでした。

ActiveSupport の 2 つのバージョンの違いにより、アプリは I18n メソッドで壊れていました。

これがすべてのアプリに適用される組み込みの違いなのか、それとも元の開発者がアプリを構築する際に非常に型にはまらないことを行っており、ハッキングしたと思われるため、これがこのレガシー アプリに特有のものなのか、私には 100% 確信が持てません。 Rails のベース コードが数か所に配置されています。

しかし、最終的に必要な JSON を json および json_pure gem を使用して生成することになりました。これにより、非常に簡単にハッシュから JSON を生成できます。それらは非常にうまく機能し、他の多くの gem が必要とする多くの依存関係を必要としません。

これは、コントローラー内でハッシュを組み立てる必要があることを意味しますが、これは単なる別のビューであるため、私の考え方には理想的ではありません。

于 2012-09-30T08:10:44.417 に答える