こんにちは tahara です。
先日 いこーよ を Rails 3.1.0 から Rails 3.2.2 にアップグレードしました。 今日はその模様を報告したいと思います。
まず Gemfile で Rails のバージョン指定を 3.2.2 にし bundle update しました。
gem 'rails', '3.2.2'
Asset Pipeline は使っていなので、 jquery-rails-2.0.1/vendor/assets/javascripts/jquery_ujs.js を public/javascripts にコピー。
config/environments/development.rb に次を追加。 開発環境で遅いクエリーは自動的に explain してくれるのはいいですね。 log/development.log に出力されます。
# Raise exception on mass assignment protection for Active Record models config.active_record.mass_assignment_sanitizer = :strict # Log the query plan for queries taking more than this (works # with SQLite, MySQL, and PostgreSQL) config.active_record.auto_explain_threshold_in_seconds = 0.5
で、動かしてみたのですが ssl_requirement でエラーになりました。 どうやら bartt-ssl_requirement を使うのがよさそう。 Gemfile を次のように書き替えて bundle install したらうまく動きました。
gem 'bartt-ssl_requirement', '~>1.4.0', :require => 'ssl_requirement'
と思ったのですが、ssl_allowed しているアクションが http から https にリ ダイレクトされてしまう現象に遭遇しました。 もともとの ssl_requirement では ssl_allowed が ssl_required より優先されていたのに、 bartt-ssl_requirement では ssl_required の方が優先されるようになっていました。 ここは github の慣例にならって fork し、ssl_allowed が優先されるようにしました。 修正は一行です。
という感じで いこーよ をRails 3.2.2 にアップグレードできました。
弊社ではエンジニアを募集しています。 詳細はこちらを御覧ください。