Rails 4への橋渡しとして。
環境
- rvm 1.25.22
- ruby 1.9.3p545
- gem 2.2.2
Ruby gemのアップグレード
% gem update --system % gem -v 2.2.2
Ruby on Railsのアップグレード
% rvm gemset use rails3 % gem install rails -v 3.2.17 % rails -v Rails 3.2.17
bundlerが自動でアップデートされないので個別にアップデート。
% sudo gem update bundler
既存のプロジェクトのアップデート
Gemfileの参考が欲しいので別にプロジェクトを生成。
% rails new app_3217
既存のプロジェクトが app_3211 以下にあるとする。Gemfileの内容を比較して更新する。
% diff app_3211/Gemfile app_3217/Gemfile % vi app_3211/Gemfile
bundleでGemfileを最新にする。
% cd app_3211 % rvmsudo bundle update
設定ファイルを最新版にする。以下のファイルが書き換えられるので注意。
config/boot.rb config/routes.rb config/application.rb config/environments/development.rb config/environments/production.rb config/environments/test.rb config/initializers/secret_token.rb config/initializers/session_store.rb config/locales/en.yml
設定ファイルを最新版にする。
% rake rails:update
最新版になった設定ファイルと既存の設定ファイルと照らし合わせる。
twitter-bootstrap-railsのアップグレード
Railsのアップグレードにともない、twitter-bootstrap-railsもアップグレードされたので対応する。以下のファイルが置き換えられるのでバックアップをとっておく。
- app/assets/javascripts/bootstrap.js.coffee
- app/assets/stylesheets/bootstrap_and_overrides.css.less
GitHub: seyhunak / twitter-bootstrap-rails Upgrading Guideに従い、twitter-bootstrap-railsを導入。
% rails g bootstrap:install
新しくなった bootstrap.js.coffee と bootstrap_and_overrides.css.less についてバックアップと比較し、適宜編集する。
devise 3.0 から 3.1
@znz blog:devise 3.0.3 と devise 3.1.0 で自動生成されるファイルの違いにしたがい修正する。
確認用につくったRailsアプリのGemfileにdeviseを追加し、bundle install
% cd app_3217 % vi Gemfile % bundle install
Devise:Viewsの差分をチェック
% rails generate devise:views % cd app/views/devise/mailer % diff confirmation_instructions.text.erb ~/app_3211/app/views/devise/mailer/confirmation_instructions.text.erb % diff unlock_instructions.text.erb ~/app_3211/app/views/devise/mailer/unlock_instructions.text.erb % diff reset_password_instructions.text.erb ~/app_3211/app/views/devise/mailer/reset_password_instructions.text.erb % cd ../shared/ % diff _links.erb ~/app_3211/app/views/devise/shared/_links.erb