2

MichaelHartlのウォークスルーを使用してRailsdevを開始したところですが、問題が発生しました。

私が使用している共有ホスティングは、Rails 3で動作しないというバグがあるCPanelを使用しています。これを修正するためのアップデート(CPanel 11.34)が今後6か月以内にリリースされる予定です。

私のホストが使用しているバージョンはRails2.3.14です。

明らかに、2.3.14と3/3.2の間に違いの世界があるでしょう

私はオーストラリアにいますが、HerokuやEngineYardに相当するものはありません。アプリが消費/出力するデータはオーストラリアにとどまる必要があるため、オーストラリアのホスティングが必要です。

最初の質問は、誰かが私の開発環境を私のホストと同じバージョンに制限する正しい方向に私を向けることができるかということです。私はrvmを使用する複数のバージョンには関心がありません。それはただのフリーズコマンドですか?

2番目の質問は、古いバージョンの開発における欠点は何ですか?明らかに、3.0がウェブホストで利用可能になったときに移行する必要があります。2.3.14の開発に関して目立った機能/仕様はありますか?

どんな助けでも大歓迎

4

2 に答える 2

2

2.3でもbundlerを使用できます。これにより、レール自体を含む特定のバージョンのgemに簡単に制限できます。

2.3.xでできないことはあまり考えられません。明らかに、当時、人々はWebアプリを非常に楽しく書いていました。3.xシリーズには、アセットパイプライン、マウント可能なエンジン、さまざまなORMまたはjavascriptライブラリの使いやすさ、新しいルーティングAPI、新しいArelベースのアクティブレコードなど、多くの新しい機能があります。内部の変更もたくさんあります。サードパーティがレールを拡張したり、認証などの機能のスライスを提供したりするgemを簡単に作成できるようにします。

それほど大きな変化ではありませんが、2.3と3.xの重要な事実は、2.3が使用されなくなっていることです。役立つ宝石(carrierwave、devise、factory girlなど)やチュートリアルを書いている人は、3.xのみをターゲットにしている、またはもはやターゲットにしていないことがよくあります。 2.xバージョンを維持します。

于 2012-04-18T08:28:48.407 に答える
0

2番目の質問は、古いバージョンの開発における欠点は何ですか?

一つには、2.3.xで利用できないActiveRecordの機能を使用しないように注意する必要があります。たとえば、3.xでは、次のようなことができます。

 Client.where("orders_count = ?", params[:orders])

しかし、2.3.xでは、次のことを行う必要があります。

 Client.first(:conditions => ["orders_count = ?", params[:orders]])

2.3.xでは、クエリメソッドをチェーンしてクエリを構築することもできません。

于 2012-04-18T03:07:10.397 に答える