5

私はRails 1.2.3バージョンに取り組んでいます。今、Rails のバージョンと ruy のバージョンを 1.8.6 から 1.9.7 にアップグレードしたいと考えています。

そのような古いバージョンで動作するのは大きな苦痛ですが、実行中の状態です. Rails の高度な機能が必要ですが、この古いバージョンはサポートしていません。

バージョンとルビのバージョンアップ方法を教えてください。

ありがとう....

4

3 に答える 3

4

それはかなりの飛躍です。最善の策は、新しい Rails 3.1 アプリを作成してから、手動でコードを移行することです。

gem install rails #=> will install the latest stable release from rubygems
gem install bundler
rails new myapp

最初に行う必要があるのは、現在のアプリケーションで使用しているすべての gem を開いてGemfile追加することです。また、使用しているすべてのプラグインの gem バージョンを見つけることもお勧めします ( でvendor/plugins)。mysql2また、使用しているデータベースのタイプ ( 、sqlite3、または)に適した gem がインストールされていることを確認してくださいpg

必要なすべての gem を追加したら、実行bundle installしてすべての gem をアプリケーションにバンドルします。

ビュー、モデル、およびコントローラーに関する限り、それらはすべて新しいアプリケーションにコピーするだけで問題ありません。おそらく、いくつかの調整が必要になるでしょうが、ほとんどの場合、それらはすべて機能するはずです。

また、アプリケーションを開いてconfig/application.rb構成する必要があります。古いenvironment.rbファイルを参照として使用できます。

アプリケーションを開始する前の最後のステップは、routes.rbファイルを新しい Rails 3 形式に変更することです。これはおそらく、移行の最悪の部分です。最初に Rails 3 ルーティング ファイルの書き方を学び、次に手動でルートを記述する必要があるからです。詳細については、こちらをご覧ください

私は Rails 1 を使用したことがないので、他の変更が必要になる可能性があります。これら 3 つの Railscastは、間違いなく役立つリソースです。

于 2011-10-13T07:31:18.997 に答える
0

私は主要なアプリケーションを 2.3.10 から 3.0.9 に移行しましたが、これは非常に骨の折れるプロセスであり、もし 3.1 に移行したいのであれば、さらに悪いことになるでしょう。

アプリケーションのサイズにもよりますが、新しいアプリケーションを作成してコピーすることをお勧めします。

この古いバージョンの Rails から最新の Rails への移行は、決して 1 回の飛躍ではなく、さまざまな考慮事項があります。

しかし、私の答えの最も良い点は、テストのプロセス、互換性のあるgemの検索など... Rails 3とRuby 1.9.2の方がはるかに優れていることです。

于 2011-10-13T07:44:05.137 に答える
0

うわー、ブリッカーが言ったように、それはかなりの飛躍です! 私は Rails 1 を何年も前に使用していました.Rails 2 にアップグレードせず、書き直しました。

あなたのRails 1.2.3アプリケーションの大きさは?

非常に多くのことが変更されました。Rails の機能、非常に多くの Gem、ルーティング、アセット パイプライン、名前付きスコープ、ActiveRecord クエリ API、... Ruby でさえも変更されました。単にアップグレードするのは得策ではありません。考えなければならない多くの新しい概念と機能があり、白紙の状態から始める方がずっと良いでしょう。

これは、変装した祝福になる可能性があります。これは、Rails 3.1 でコードを書き直して再構築することで、コード ベースを改善する絶好の機会だと思います :-)

Rails 1.2.3 アプリケーションはメンテナンス モードのままにして、最も重要な機能を備えた Rails 3.1 アプリケーションをゼロから始めることをお勧めします。

また、ほとんど使用されていないアプリの「機能」を取り除く良い機会でもあります...

于 2011-10-13T08:16:50.737 に答える