Rails 3.2.12から4.2.0にアップデートした
ども。
やましもです。
今日は天神で買い物しつつ、びくドンで朝からハンバーグ食べたりしてました。
休憩がてらスタバ入って退屈だったのでRailsUpdate業に勤しんでいます。
手順
- Gemfile
gem 'rails', '~> 4.2.0'
と追記して、
bundle update
で奇跡的に何もなくバージョンアップされることを期待しました。
カジュアルにrails s
を実行。
~/teams (master) <S><U>% rails s [14:58:45] => Booting WEBrick => Rails 4.2.0 application starting in development on http://localhost:3000 => Run <code>rails server -h</code> for more startup options => Ctrl-C to shutdown server config.eager_load is set to nil. Please update your config/environments/*.rb files accordingly: <ul> <li>development - set it to false</li> <li>test - set it to false (unless you use a tool that preloads your test environment)</li> <li>production - set it to true</li> </ul> <dl> <dt>Exiting</dt> <dt>/Users/yamashitakazuhiko/.rbenv/versions/2.1.4/lib/ruby/gems/2.1.0/gems/activerecord-4.2.0/lib/active_record/dynamic_matchers.rb:26:in `method_missing'/Users/yamashitakazuhiko/.rbenv/versions/2.1.4/lib/ruby/gems/2.1.0/gems/orm_adapter-0.5.0/lib/orm_adapter/adapters/active_record.rb:81: warning: already initialized constant ActiveRecord::Base::OrmAdapter</dt> <dt>/Users/yamashitakazuhiko/.rbenv/versions/2.1.4/lib/ruby/gems/2.1.0/gems/orm_adapter-0.5.0/lib/orm_adapter/adapters/active_record.rb:81: warning: previous definition of OrmAdapter was here</dt> <dd>undefined method `whitelist_attributes=' for #<Class:0x007fc3f88f07f0> (NoMethodError)
まあ、この時点でいらんことやらなければよかったなんて思うわけですが、
ネットに情報あったので対応していきます。
まずは不足してるgemを追加。
- Gemfile
gem 'protected_attributes' gem 'rails-observers' gem 'actionpack-page_caching' gem 'actionpack-action_caching' gem 'activerecord-deprecated_finders'
次に、Rails4系から自動Explainがなくなったらしいので、パラメーターを削除。
* /config/environments/development.rb
config.active_record.auto_explain_threshold_in_seconds = 0.5
ここまでやってやっと、、画面が・・・・
でない♥
undefined method `set_table_name\' for TeamInformation(Table doesn\'t exist):Class
どうもパラメーター変わったみたいですね。
まるっと置換して・・・
find ./models -iregex ".*rb" | xargs sed -i '' 's/set_table_name/self.table_name =/g'
でけたーーー!!!
というところで、僕はジムに行って、昨日より強くなってきます。