Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
A few slides about the migration from Rails 4 t...
Search
Adam Nowak
July 06, 2016
Programming
1
260
A few slides about the migration from Rails 4 to Rails 5
based on github.com/netguru/reminders app
Adam Nowak
July 06, 2016
Tweet
Share
More Decks by Adam Nowak
See All by Adam Nowak
20x more people around. Highlights and challenges of the fast growing team.
lubieniebieski
1
120
Daily Development Tips
lubieniebieski
0
130
Stick to the rules
lubieniebieski
4
500
Other Decks in Programming
See All in Programming
ニーリーにおけるプロダクトエンジニア
nealle
0
950
チームで開発し事業を加速するための"良い"設計の考え方 @ サポーターズCoLab 2025-07-08
agatan
1
470
おやつのお供はお決まりですか?@WWDC25 Recap -Japan-\(region).swift
shingangan
0
140
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
180
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
0
300
可変変数との向き合い方 $$変数名が踊り出す$$ / php conference Variable variables
gunji
0
180
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
TypeScriptでDXを上げろ! Hono編
yusukebe
3
770
[SRE NEXT] 複雑なシステムにおけるUser Journey SLOの導入
yakenji
0
150
Claude Code派?Gemini CLI派? みんなで比較LT会!_20250716
junholee
1
530
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
2
15k
フロントエンドのパフォーマンスチューニング
koukimiura
5
2k
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
GitHub's CSS Performance
jonrohan
1031
460k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
RailsConf 2023
tenderlove
30
1.1k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Typedesign – Prime Four
hannesfritz
42
2.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Transcript
Rails 5 is here a few slides about the migration
from Rails ~4
None
my slides are not about the features - you have
to check them out on your own!
I need a TODO app for test
but let’s upgrade something more useful
None
https://github.com/ netguru/reminders
Gemfile gem "rails", "~> 4" gem "coffee-rails" gem "bootstrap-datepicker-rails" gem
"decent_exposure" gem "draper" gem "jquery-rails", "4.0.4" # version 4.0.5 breaks jquery-datatables
UPDATING!
Step 1 - changing relevant gems gem "rails", "~> 4”
Step 1 - changing relevant gems gem "rails", "~> 4”
gem "rails", "~> 5"
Step 1 - changing relevant gems bundle update rails
None
None
Step 2 - updating gems along the way bundle update
rails railties
meh!
Step 2 - updating gems along the way bundle update
rails railties sass-rails
nope!
Step 2 - updating gems along the way bundle update
rails railties sass-rails coffee-rails slim-rails
still missing something!
Step 3 - strict dependencies gem "jquery-rails", "4.0.4" # version
4.0.5 breaks jquery-datatables
Step 3 - strict dependencies gem "jquery-rails", "4.0.4" # version
4.0.5 breaks jquery-datatables gem "jquery-rails"
Step 3 - strict dependencies gem "sass-rails", "~> 5.0"
gem "sass-rails"
Step 3 - strict dependencies bundle update rails railties sass-rails
coffee-rails slim-rails jquery-rails
None
better, but still
let’s have a look again
None
https://github.com/ evrone/quiet_assets/pull/ 51
so we don’t need it anymore
Step 1 - changing relevant gems gem "quiet_assets"
Step 1 - changing relevant gems gem "quiet_assets" gem "quiet_assets"
Step 2 - updating gems along the way bundle update
rails railties coffee- rails slim-rails
pretty good, we need to solve rspec-rails
Step 2 - updating gems along the way bundle update
rails railties coffee- rails slim-rails rspec-rails
None
hahahha, you fool
zoom in
None
there should be puma here, right?
Step 1 - changing relevant gems gem "thin" gem "thin"
Step 2 - updating gems along the way bundle update
rails railties coffee- rails slim-rails rspec-rails
yeah
step 1&2 done - our Gemfile is ok
Step 3 - draper /Users/adamo/.rbenv/versions/2.2.3/lib/ ruby/gems/2.2.0/gems/draper-2.1.0/lib/ draper.rb:5:in `require': cannot load
such file -- active_model/serializers/ xml (LoadError)
It turns out, draper gem isn’t quite ready for Rails
5
It turns out, draper gem isn’t quite ready for Rails
5
I’ve used drape gem instead but you should follow https://github.com/drapergem/
draper/pull/752
Step 3 - draper gem "draper" gem "draper"
Step 3 - draper bundle
drape is pretty much the same as draper but you
have to change the namespace
let’s create base decorator (it should have been here before)
Step 3 - draper class BaseDecorator < Drape::Decorator; end class
ProjectDecorator < BaseDecorator
awesome!
Step 4 - rollbar bundle update rollbar # 2.8.0 wasn’t
good enough
push it!
None
webrick? it’s so <=Rails4
None
Step 4 - puma gem „puma" bundle
None
success!
Step 4 - rails:update bin/rake rails:update
keep going
Step 4 - rspec bundle update rspec-core
it turns out, you have to be strict this time
Step 4 - rspec gem "rspec-rails", "~> 3.5" bundle
yep!
Step 5 - decent_exposure /Users/adamo/code/reminders/app/ controllers/application_controller.rb: 2:in `<class:ApplicationController>': undefined method
`decent_configuration' for ApplicationController:Clas
well, read the wiki https://github.com/hashrocket/ decent_exposure/wiki/Api-changes-in- version-3#undefined-method- decent_configuration
Step 5 - decent_exposure decent_configuration do strategy DecentExposure::StrongParametersStrategy end
Step 6 - rails-controller- testing 245 examples, 3 failures NoMethodError:
assert_template has been extracted to a gem. To continue using it, add `gem 'rails-controller-testing'` to your Gemfile.
Step 6 - rails-controller- testing gem „rails-controller-testing" bundle
YES
Step 6 - rack-mini-profiler bundle update rack-mini-profiler
QL
it works:)
https://github.com/ netguru/reminders/pull/35
–no one ever “migration will be easy”
–me, now “but please do it”
t.hanks! adam nowak / @lubieniebieski 06/07/2016