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 7.xにバージョンアップした話
Search
Kazuhiro NISHIYAMA
November 27, 2023
Technology
0
91
小規模個人アプリをRails 7.xにバージョンアップした話
[【出張版】Kyoto.rb Meetup 【大阪だよ】](
https://kyotorb.connpass.com/event/296972/)のLT大会での発表資料です
。
Kazuhiro NISHIYAMA
November 27, 2023
Tweet
Share
More Decks by Kazuhiro NISHIYAMA
See All by Kazuhiro NISHIYAMA
Ruby on Rails と私
znz
0
18
riscv64.rubyci.org internal
znz
0
15
Rubyの日本語リファレンスマニュアルの現在と未来
znz
0
64
devise-two-factorを4.xから5.xに上げた話
znz
0
320
docs.ruby-lang.org/ja/ の生成方法を変えた
znz
0
79
Ubuntuのriscv64版をqemuで動かした
znz
0
97
lilo.linux.or.jpをbusterからbullseyeに上げた
znz
0
100
Ruby リファレンスマニュアル改善計画 2022 進捗報告
znz
0
150
Rubyist Magazine Reboot
znz
0
210
Other Decks in Technology
See All in Technology
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.3k
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
170
現場で効くClaude Code ─ 最新動向と企業導入
takaakikakei
1
170
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
3
490
「魔法少女まどか☆マギカ Magia Exedra」での負荷試験の実践と学び
gree_tech
PRO
0
620
Agile PBL at New Grads Trainings
kawaguti
PRO
1
320
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
180
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
150
生成AI時代のデータ基盤
shibuiwilliam
6
3.8k
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
190
DDD集約とサービスコンテキスト境界との関係性
pandayumi
2
270
[RSJ25] Feasible RAG: Hierarchical Multimodal Retrieval with Feasibility-Aware Embodied Memory for Mobile Manipulation
keio_smilab
PRO
0
120
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Cult of Friendly URLs
andyhume
79
6.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Why Our Code Smells
bkeepers
PRO
339
57k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Side Projects
sachag
455
43k
Transcript
小規模個人アプリをRails 7.xにバー ジョンアップした話 Kazuhiro NISHIYAMA Kyoto.rb Meetup 2023-11-27 Powered by
Rabbit 3.0.3
self.introduction 西山 和広 Ruby のコミッター github など: @znz 株式会社Ruby開発 www.ruby-dev.jp
1/16
対象 個人メモ用アプリ https://github.com/znz/memo-app-r scaffold をちょっと改造した程度の機能のみ ログイン、検索 位置情報 (これが欲しかったので自作) (自分専用なので)メモ本文は生HTMLが書ける Dokku
にデプロイ 2/16
更新バージョン Rail 6.1.7.6 → 7.0.8 → 7.1.2 Ruby 3.1.4 →
3.2.2 3/16
更新方法 以下のように新規作成したアプリと比較 docker run --rm -it ruby:3.1.4 /bin/bash gem i
rails -v '~> 7.0.0' rails new /tmp/hoge --database=postgresql 4/16
新規と比較して更新 Gemfile config/environments/*.rb 5/16
bin/rails app:update bin/rails app:update で更新 Active Storage の migration などの不要なものは除外してマージ
6/16
decaffeinate テストを実行しようとすると *.coffee があるとエラーになった https://github.com/decaffeinate/decaffeinate https://decaffeinate-project.org/ を使って *.coffee を変換 7/16
turbolinks turbolinks も Gemfile から削除していたのでエラー turbo に書き換え app/assets/javascripts/application.js から //=
require turbolinks を削除 (turbo の追加は必要なかった) 8/16
警告対応 to_s(:delimited) → to_fs(:delimited) 9/16
assets:precompile 失敗 Dokku に deploy すると、なぜか rake assets:precompile でエ ラー
-----> Preparing app for Rails asset pipeline Running: rake assets:precompile rake aborted! LoadError: cannot load such file -- coffee_script 原因不明なので coffee-rails を Gemfile に戻した。 10/16
ruby も更新 ついでに ruby も 3.2.2 に更新 ruby file: ".ruby-version"
はデプロイでエラー ruby File.read(".ruby-version").chomp にした 11/16
new framework defaults config.load_defaults 7.0 に更新 new_framework_defaults_7_0.rb を削除 デプロイするとログアウトしていたのでログインしなおし 12/16
7.1 に更新 以下と比較して Gemfile を更新 docker run --rm -it ruby:3.2.2
/bin/bash gem i rails rails new /tmp/hoge --database=postgresql 13/16
app:update bin/rails app:update Active Storage の migration は除外してマージ 14/16
デプロイ テストも問題なく通るのでデプロイ 問題なく動いてそう Rails 7.0 から 7.1 は Rails のバージョンを上げるだけならあっ
さりできた 15/16
今後 new_framework_defaults_7_1 はまだ未対応なので対応予定 JavaScript の位置情報取得部分もテストしたい Rails 標準の minitest を試しているが、単純なテストのみなので rspec
と両方にしたい bootstrap 4 のままなので、更新か他のものに移行したい 位置情報取得部分を jQuery から移行したい coffee-rails は調査不足で原因不明のままだが sprockets を消 せば解決すると期待したい 16/16 Powered by Rabbit 3.0.3