Rails 8 の bin/rails generate authentication で認証を作ったあと、「パスワードを忘れた人向けのリセット機能、これ全部自分で書くんだっけ?」と身構えていませんか? 結論から言うと、…
続きを読むRails
Ruby on Railsの記事をまとめています。
RailsのTurbo Framesで遅延読み込み|重い部分だけ後から出して体感速度を上げる
「ページの表示が重い。でも遅いのは一部の集計やフィードだけで、そこだけ後から出せれば十分なのに」——そんなふうに感じたことはありませんか? ダッシュボードのアクティビティ一覧、外部APIを叩く箇所、重い集計。こうした「一…
続きを読むRails の ViewComponent 入門|パーシャルとの使い分けと移行手順を実例で解説
Rails のビューを書いていて、こんな状態に心当たりはありませんか? 共通化のつもりで作った _card.html.erb に、画面ごとの if がどんどん増えていく render “card”, user: user…
続きを読むRailsのレート制限(rate_limit)入門|gemなしでログイン連打・API乱打を429で止める
ログインフォームに同じIPから何百回もパスワードを試されている。公開したAPIが一部の利用者から毎秒何十回も叩かれている。ログを見てヒヤッとしたこと、ありませんか? こうした「連打」をはじくのがレート制限(流量制限)です…
続きを読むRails 8.1のLocal CI(bin/ci)入門|プッシュ前にローカルでCIを一発で回す
コードを書いてプッシュ、GitHub Actions の CI が回るのをコーヒーを飲みながら待つ。数分後に赤くなって、「あ、RuboCop 引っかかってた」と直して再プッシュ……。この「CI 待ち → 赤 → 出直し」…
続きを読むRailsのN+1問題入門|includes / preload / eager_load の使い分けを1枚で解説
Railsで作った一覧ページ、記事数が増えてきたら急に表示が重くなった——そんな経験はありませんか? ログ(log/development.log)を眺めると、ほとんど同じ SELECT が何十行も並んでいる。これがいわ…
続きを読むRails 8でenumの書き方が変わった|「wrong number of arguments」の直し方と新記法まとめ
Rails 8 にバージョンを上げたら、今まで動いていた enum が急に ArgumentError: wrong number of arguments (given 0, expected 1..2) でエラーにな…
続きを読むRailsのページネーション入門|PagyとKaminariの使い分けを実例で(速度40倍の理由)
一覧ページの表示が重い、記事やユーザーが増えてきて「全部を一気に出すのはさすがにマズい」——そんなときに入れるのがページネーション(ページ分割)です。Railsだと Pagy と Kaminari の2択でまず迷うのでは…
続きを読むRailsのシステムテスト入門【RSpec × Capybara】|ブラウザ操作を自動テストして「壊れてないか」を担保する
「一覧画面やフォーム、リリースのたびに手で動かして確認するの、地味に面倒じゃありませんか?」——モデルの単体テストは書いているけど、「ユーザーが実際にブラウザで操作したときにちゃんと動くか」までは手作業、というチームは多…
続きを読むRails 8のparams.expect入門|require/permitからの書き換えと「ハマりどころ」
Rails 8 を触っていて、コントローラのストロングパラメータに params.expect という見慣れないメソッドが出てきて「これ、今までの params.require(:article).permit(…)…
続きを読む







![params.require(:article).permit(:title, :body)がRails 8のparams.expect(article: [:title, :body])に1行で書き換わる比較図。記述量が2段から1行に、不正な形は500から400 Bad Requestになる。](https://toaru-kaihatsu.com/wp-content/uploads/2026/10/params-expect-before-after-304x143.png)
