1

Rails3.2.6を使用してRuby1.9.3で作成されたアプリがあります。私がBluehostにデプロイしているという事実の後、サーバー上にRuby1.8.7を持っているBluehostに選択肢はありません。

宝石で異なる時間形式エラーが発生します。サーバー上でそれらを編集できますが、次にキャップデプロイを実行するときに、変更をワイプして再度実行する必要があります。BHでは、コマンドラインからRailsを3.2.6にアップグレードできますが、Ruby1.9にアップグレードできません。

  1. サーバーをアップグレードできますか、それともRuby 1.8でアプリを書き直す必要がありますか?
  2. 書き換えを行う場合、すべてのサーバーを1.9にアップグレードするときに、再度書き換える必要がありますか?

私はBHに電話してライブチャットをしましたが、彼らはいつも新しいアプリのセットアップページに私を送ってくれます。

4

2 に答える 2

1

まず第一に、アプリが 1.8.7 で実行される場合、(ほとんどの場合) 1.9.x でも実行されます。

その逆は少し難しいです... Rails 3.2.x は、Ruby 1.8.7 をサポートする RoR の最後のバージョンです。ただし--old-style-hash、作成時に使用しない限り、かなりの作業が必要になります。

コードの複雑さによっては、すべてのハッシュを修正するだけで十分な場合があります。

# Ruby 1.9:
hsh = { foo: "bar" }

# Ruby 1.8 and 1.9:
hsh = { :foo => "bar" }
于 2012-09-28T13:58:53.347 に答える
0

アプリを Ruby 1.8 に書き直す必要があります。ほとんどの共有 Web ホストはまだ Ruby 1.9 を使用していないか、少なくとも私は Ruby 1.9 を見つけていません。したがって、デプロイ先のサーバーの仕様に合わせて開発する必要があります。ほとんどの共有 Web ホストは、Ruby の扱い方についてまったく見当がつきません。PHP や Perl などはサーバー環境で長い間使用されており、十分に理解されていますが、Ruby はまだ少し新しいものです。

または、より優れた VPS ホストを見つけることもできます。私は VPS 環境の管理を学ぶための予算の方法として prgmr.com に目を向けました (私は彼らと提携していません) が、私は Linode に VPS を持っているので、彼らのサービスは必要ありません。

于 2012-09-28T13:57:11.770 に答える