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
Rails 4.2→5.2アップデート
Search
horikawa
May 29, 2019
Programming
460
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rails 4.2→5.2アップデート
Rails 4.2を5.2にアップデートした時の流れをまとめました。
horikawa
May 29, 2019
More Decks by horikawa
See All by horikawa
Caching associations in rails
casix
1
340
Create Action Mailbox Sample Application
casix
1
450
Rails 6.0 Action Mailboxについて
casix
0
410
Other Decks in Programming
See All in Programming
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
150
Foundry Localでエージェント開発
seosoft
0
140
XHTMLが残したもの
yosuke_furukawa
PRO
1
410
業務時間外もAIに働いてもらう話
colorful12
3
10k
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
560
Go 1.27からのGODEBUG / Go 1.27 リリースパーティ #go127party
mazrean
0
320
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
220
ALB ログから Trace を気合で繋げる技術
fohte
7
880
初めての模倣学習とVLA
natsutan
0
490
MIZARU@SPAJAM2026 第二回予選
1901drama
0
110
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
750
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
230
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
410
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Utilizing Notion as your number one productivity tool
mfonobong
4
570
How to make the Groovebox
asonas
2
2.4k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
470
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
440
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
670
Product Roadmaps are Hard
iamctodd
55
13k
Evolving SEO for Evolving Search Engines
ryanjones
0
280
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
660
Transcript
Rails 4.2→5.2ʹ Ξοϓσʔτͨ͠ ງʢ@CASIXx1ʣגࣜձࣾπΫϧό
• ීஈʮcowcamoʯͱ͍͏ΞϓϦΛ։ൃͯ͠ ·͢ • αʔόαΠυɺRailsΛͬͯ·͢
࣮ͦΜͳʮcowcamoʯ ϲ݄લ·Ͱ...
Rails 4.2!!!
Ruby 2.3!!!
্͛ͳ͖Όʢ໋ײʣ
gemͷΞοϓσʔτ ͔ͨ͜͠͠ͱͳ͍Μ͕ͩ...
ʙ४උฤʙ
·ͣɺRubyΛ2.5ʹ্͛Α͏ ʢ࣌ɺ201811݄ࠒʣ
্͛ͨ Τϥʔग़ͳ͔ͬͨ
্͛Δ࣌ʹɺ ͍ͭͰʹRailsΞοϓσʔτ Ͱ͑ΔͷΛ༻ҙͨ͠
ಈ࡞֬ೝ߲ॻΛ࡞͓͍ͬͯͨ • ಈ࡞֬ೝͷγφϦΦΛ࡞Γ • ސ٬ͷಈ࡞Λ࠷ݶ୲อ͍ͨ͠ϥΠϯ • ۀ্ΫϦςΟΧϧͳՕॴ୲อ͍ͨ͠ͳ ͲΛఆٛ • ͦΕΛݩʹ߲ॻΛ࡞
ͱ͍͑ɺ ͜Ε͚ͩͰ৺ͱͳ͍...
ϦάϨογϣϯςετ ڧԽͤͶ
ϢχοτςετͷΧόϨοδΛ 80% ͙Β͍·Ͱ্͛ͨ
Issueࣄલ༻ҙ͠ͳ͖Ό
͝ஸೡʹΞοϓάϨʔυΨΠυ͕ ༻ҙ͞ΕͯΔͧʂ
ྔগͳw
None
...ϦϦʔεϊʔτΛݟΑ͏
Issue༻ҙ • 5.0, 5.1, 5.2 ͷϦϦʔεϊʔτͱʮcowcamoʯͷ ίʔυΛൺֱͯ͠ɺରԠ͖͢issueΛͬͨ • ࠓճɺେྔʹissue͕ग़ͦ͏ͳͷͰɺ֤όʔδϣϯ ͱ༏ઌͰϥϕϧΛ࡞͓͍ͬͯͨʢ͜Εྑ͔ͬ
ͨͰ͢ʂʣ • Rails5.0:MUST, Rails5.0:SHOULDΈ͍ͨͳ...
Αʔ͠ɺ্͛Δ͔ʔ
Rails 5.0
खॱ • Rails 5.0ʹ্͛Δ 1. ϦάϨογϣϯςετͰΤϥʔग़Δ 2. Issueʹ͢Δ 3. मਖ਼͢Δͷϧʔϓ
• ࣄલ༻ҙͨ͠IssueফԽ͍ͯ͘͠
͜͜Ͱ͔ͬͨ͜ͱ...
ϦϦʔεϊʔτʹࡌͬͯͳ͍ มߋͰͨ͘͞ΜΤϥʔ͕ग़ͨ
ͬͱফԽͨ͠ʂ ͱࢥ͍͖
લͰൃੜ
Rails 4.2Ͱ࡞ͨ͠ δϣϒΛ͑ͳ͍
σγϦΞϥΠζͰ͖ͳ͍ • Rails 4.2ͷ࣌ʹδϣϒΛ ϚʔγϟϧγϦΞϥΠζ͍ͯͨ͠ • Rails 4.2ʹ͋ͬͯɺ5.0ʹͳ͍ΫϥεΛؚΊͯγϦ ΞϥΠζ͍ͯͨ͠ͷͰɺσγϦΞϥΠζ͢Δࡍʹɺ ఆΤϥʔ͕ൃੜ
• ActiveRecord::ConnectionAdapters::AbstractMysql Adapter::MysqlDateTimeͱ͔...
ղܾࡦ • δϣϒ • Rails 4.2ʹ͋ͬͯɺRails 5.0ʹͳ͍Ϋϥε ɺμϛʔͰఆٛͨ͠ • 4.2ͷδϣϒΛফԽͨ͠Βɺআ
Rails 4.2͔Βෳ
͍ͭʹϦϦʔεʂʂ
ޭʂ ͔͠ϊʔΤϥʔͩͱ...!?
ଓ͍ͯ5.1ʂ
Rails 5.1
5.1Ͱগۤ͠࿑ͨ͠Օॴ
uniq→distinctมߋ • ActiveRecordͱ ActiveRecord::ActiveRecord_Relationͷ uniqϝιου͕distinctϝιουʹมߋ͞Εͨ
uniq→distinctมߋ • ActiveRecord::ActiveRecord_Relation Array ͷuniqϝιουΛҕৡ͍ͯ͠ΔͷͰɺ uniq→distinctʹ͠Εͯɺ NoMethodError͕ग़ͳ͍... • ·ͨɺArrayͰҾ͖ଓ͖ɺuniqΛ͏ͷͰɺ શͯdistinctʹ͍͍ͤΘ͚Ͱͳ͍
Rails 5.2
image_tagͷมߋ͕...
image_tag • CarrierWaveͷUploaderͬͯ͋Δ͡Όͳ͍Ͱ ͔͢
image_tag • ࠓ·Ͱɺ image_tag(@image_uploader_object)Έ͍ͨ ʹ ΠϝʔδΞοϓϩʔυΦϒδΣΫτΛೖΕͯ ͳΜ͔Μͯ͘͠Ε͕ͨɺͯ͘͠Εͳ͘ͳͬ ͨ
image_tag • ۩ମతʹɺ • Can't resolve image into URL: undefined
method `to_model' for #<MyUploader:xxxxxxxxxx> Did you mean? to_xml • ͳΔΤϥʔ͕ग़·͢
image_tagղܾࡦ • ୈҰҾʹɺURLͷจࣈྻΛͤͱͷ͜ ͱͩͬͨͷͰ • image_tag(@image_uploader_object) ↓ image_tag(@image_uploader_object.url) • ʹॻ͖͑ͨ
ͪͳΈʹ • mount_uploader :url, MyUploaderΈ͍ͨʹॻ ͍͍ͯΔͱ... • image_tag(@profile_image.url.url) Έ͍ͨʹ ͳΓ·͢
ŘşũūŘ
·ͱΊ
ྑ͔ͬͨͱ͜Ζ • ϢχοτςετͷΧόϨοδΛ80%ॻ͍ͨ • ઈରʹΤϥʔग़ͨ͘͠ͳ͍Օॴɺ ಈ࡞֬ೝ߲ॻΛ࡞ͯ͠ɺखಈͰͷ֬ೝΛͨ͜͠ͱ • ݹ͍ڥ(4.2)→৽͍͠ڥ(5.0ͳͲ)ͷ֬ೝΛͨ͜͠ ͱ •
ηογϣϯɾδϣϒͷෆ۩߹Λݟ͚ͭΒΕΔ
ఆ֎ͩͬͨՕॴ • ϦϦʔεϊʔτΛ֬ೝͨ͠Βɺेͩͱࢥ͍ ࠐΜͰ͍͕ͨɺ ϦϦʔεϊʔτʹͳ͍มߋͳͲΤϥʔ͕ग़ ͍ͯͨ(શମͷ30~40%͙Β͍) • ϦάϨογϣϯςετΛॻ͍ͯɺ্͛ͯɺΤ ϥʔΛ௵͍ͯ͘͠ํ͕ϝΠϯʹͳΓͦ͏
None
RailsΞοϓσʔτ ϊʔΤϥʔͰͨ͠ ☀