Text
Page: 1
Ruby on Rails と私
Kazuhiro NISHIYAMA
関西Ruby会議08 After Party: 叡電LT
2025-06-29
Powered by Rabbit 3.0.5
Page: 2
最初に
ラジオ感覚で軽く聞いてもらるような内容の
つもり
途中で切られるのを想定して後ろの方の内容
は薄い
1/17
Page: 3
自己紹介
西山 和広
Ruby のコミッター
GitHub など: @znz
株式会社Ruby開発 www.ruby-dev.jp
Ruby関西初期メンバー
2/17
Page: 4
Rails を知った頃
2005年5月14日(土) の第3回Ruby関西勉強会で
紹介されていた
https://github.com/rubykansai/workshops/wiki/
KansaiWorkshop003
名前はもうちょっと前からみかけていた
https://rubygems.org/gems/rails からバージョ
ン履歴をみると当時は 0.12.1
3/17
Page: 5
その頃の印象
いくつかある Ruby を使っているもののひとつ
流行るかどうかはまだわからないので、とり
あえず知っておく
GET と POST を区別しないとか Web に詳し
くない人が作ってそう
4/17
Page: 6
HTTP メソッドについて
1995 年頃に読んだ CGI の本で区別が書いて
あった
当時はライブラリを作るような人はみんな
RFC とかちゃんと読んでいると思っていた
実際にはそうではないし、全部読めるような
量ではない(今はもっと無理)
その本の10年後なのに区別してないのは大丈
夫なのか? と思った
少なくとも当時の状態では使いたくないもの
だった
5/17
Page: 7
RESTful
Rails 2.0 あたりで REST 重視になった
GET POST 問題は解決していた
6/17
Page: 8
Rails 2.2 で i18n 対応
gettext に慣れていたので機能不足では? とい
う疑問があった
英語と日本語だけなら i18n でも困らない
複数形などのルールが複雑な言語に対応した
くなったときに困るのでは? という疑問は今で
もあるが、必要になったことがないので未調
査
7/17
Page: 9
RubyGems
Rails は RubyGems より後にでてきた
(setup.rb より後発だが C 拡張などへの対応が
雑で今でも困ることがあるらしい…)
RubyGems は同じパッケージの複数バージョ
ンを同時インストール可能
deb や rpm では不可能だったので驚く (同時インス
トール可能にするにはバージョンごとにパッケージ
がわかれていた)
(当然のように) Dependency hell が起きる
8/17
Page: 10
RVM と Bundler
RVM の gemset で分離
RVM 以前は ruby に program suffix をつけて同じ
prefix にインストールしていたが、RVM 以降は別
prefix にインストールするのが主流に
Bundler の登場で gemset が不要に
Bundler のリリース時期は Rails 2.x 時代で Rails 3.0
で正式対応
9/17
Page: 11
Rails 3
Merbとの統合など
Bundler 対応以外は大きな影響はなかった気が
する
10/17
Page: 12
JavaScript 関連
初期は prototype.js と script.aculo.us
いつの間にか jQuery だらけ
Angular.js, Vue.js など軽く使うこともあった
YUI とか Backbone.js とかメンテナンス用に
みたことがある
古いとドキュメントが公開されなくなるライブラリ
は書き直すにも解読困難で辛い
11/17
Page: 13
その後
気になる新機能もあるけど今までのやり方で
もなんとかなっていることが多い
ここからどこでも切られても良い感じの話に
12/17
Page: 14
Rails 4 系
今は変わったりなくなったものも新しく入った頃
4.0
Strong Parameters → params.expect (Rails 8)
Turbolinks → Turbo など
4.1
アプリケーションプリローダーSpring → rails new で
Gemfile に入らない
config/secrets.yml → credential
13/17
Page: 15
Rails 5 系
気になる新機能もあるけど今までのやり方で
もなんとかなっている
Action Cable
form_with
Active Storage
belongs_to の required: true がデフォルトに
なった対応が必要だった
semgrep で , optional: true を追加した
14/17
Page: 16
Rails 6 系
大きな新機能は特に使わず
Webpacker がデフォルト化
Action Mailbox
Action Text
15/17
Page: 17
Rails 7 系
コンテナ系などでも rails new で生成される
ファイルも参考にするようになった
7.0 Dockerfile
7.1 Dev Container (Development Container)
Webpacker に移行していなかったらさらに変
わっていた
Hotwire の公式サポートも気になる
16/17
Page: 18
Rails 8
params.expect が良さそう
標準で作成するデータベースが4個になった
CREATE DATABASE の権限が悩ましい
Powered by Rabbit 3.0.5
17/17