トップ «前の日記(2011/06/10 (金) ) 最新 次の日記(2011/06/12 (日) )» 編集 RSS feed

HsbtDiary


2011/06/11 (土) [長年日記]

[rails][ruby] Rails 3.0 から 3.1 にアップグレードした

blog と wiki システムのようなものを持った cms の rubyagile を Rails 3.1 にした。意外とあっさりアップグレードできたけど、plugin 周りで気をつけないといけないことがちらほらあった。以下手順。

  • public/{images,stylesheets,javascripts} を app/assets に mv する
  • rails_admin は github の rails-3.1 ブランチを使う。Rails 3.1 の assets pipeline 機能により、public フォルダの下にコピーしていた static ファイルは不要になったので全て削除する(app/assetsに移動していたらそっちを消す)
  • javascripts や stylesheets をコンパイルするときにフォルダが存在すると Sprockets::EncodingError が発生してしまうので、フォルダ直下に scss や coffee を配置するようにする
  • application.{css,js} にベタっと書いている場合は同じフォルダにある assets pipeline 的な展開が行われないので、改めて rails new foo した時に生成される application.{css,js} の内容を追加するか、元のファイルをリネームした上で新しく生成したものをコピーする
  • config/application.rb, config/environments/* のファイル設定を 3.1 のものにする。rails new foo した時に生成されるものを参考に migrate するか、rake rails:upgrade でガッと上書きして微調整する。

こんなもんかなあ。rails_admin の rails-3.1 ブランチの内容を読んで理解したけど、routes.rb に

mount RailsAdmin::Engine => '/admin', :as => 'rails_admin'

と書くことで /admin の下がまるっと rails_admin の世界になるのは良くできているねえ。