Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
0
440
Rails 4.2→5.2アップデート
Rails 4.2を5.2にアップデートした時の流れをまとめました。
horikawa
May 29, 2019
Tweet
Share
More Decks by horikawa
See All by horikawa
Caching associations in rails
casix
1
330
Create Action Mailbox Sample Application
casix
1
420
Rails 6.0 Action Mailboxについて
casix
0
400
Other Decks in Programming
See All in Programming
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
170
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
450
Cap'n Webについて
yusukebe
0
130
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
1
540
sbt 2
xuwei_k
0
280
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
7.1k
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
150
Github Copilotのチャット履歴ビューワーを作りました~WPF、dotnet10もあるよ~ #clrh111
katsuyuzu
0
100
俺流レスポンシブコーディング 2025
tak_dcxi
14
8.6k
配送計画の均等化機能を提供する取り組みについて(⽩⾦鉱業 Meetup Vol.21@六本⽊(数理最適化編))
izu_nori
0
150
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
18
7.4k
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
450
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Unsuck your backbone
ammeep
671
58k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Agile that works and the tools we love
rasmusluckow
331
21k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Navigating Team Friction
lara
191
16k
Producing Creativity
orderedlist
PRO
348
40k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
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Ξοϓσʔτ ϊʔΤϥʔͰͨ͠ ☀