Rails2.0に移行中
この間、iアプリ作ってたときに使ったサーバ側のアプリはRails2.0のRCで作ってみてたので、それほど問題なく動いてたみたい。それとは別に、今作りかけの別アプリは、Rails 1.2.6で作ってきたわけだが、これは意外とすんなりといかないが、多少いじればなんとか動いてるっぽい。
以下、自分がなんとかできた移行手順。
最初に
自分はやり忘れてましたが、なんつーか、本来は、移行前にdevelopment.logをしっかりみて、
DEPRECATION WARNING: end_form_tag is deprecated and will be removed from Rails 2.0 See http://www.rubyonrails.org/deprecation for details.
などと出ている部分を一通り修正しておくべきです。やっておかなければかなり面倒くさいですが、やり忘れた自分もなんとか移行できたっぽい。
Rails 2.0.1のインストール
当然ですが
gem update
とかでいけました。ただ、2.0.1のgemがオープンになった初日、activeresouce-2.0.1がダウンロードできなかったため、サーバが起動やらいろんなところでこけまくりました。今ならダウンロード可能なので、落としておきましょう。
rake rails:update:configs
boot.rbが更新される。
セッション
config.action_controller.session_store = :active_record_store
のコメントアウトを外してsessionをactive_recordで管理するか、controllerのsessionを指定している部分(デフォルトはapplication.rb)で、
session :session_key => '_{アプリ名}_session_id', :secret => '{適当にランダムな文字列でも}'
のように:secretを設定すればよいと思われる。
その他
ここまでやったら大体、WEBrickとかMognrelが起動するところまではいくと思う。その後、おそらく500 Internal Errorが出まくると思う。logファイルを見ながら一つずつ解決してます。最初にやっておけばよかったと思うことばかり
- @requestとか@paramsとかアウト
- end_form_tagとかアウト
- テンプレート中では@requestじゃなくてrequestでなければアウト
- paginateもアウトwill_paginationかpaginating_findプラグインを使う
結局お昼から始めて今の時間までかかってしまった。
間違いあったら指摘おねがいします
paginateについてはこっちにまとめました。