Rails7で新規プロジェクトを作成する際に困ったこと

rails newだけでは足りない

  • Rails6ではrails newしてrails sすればとりあえず動いたイメージ
  • Rails7では色々手動で追加してやる必要があり、サーバー起動のコマンドも異なります

必要だったもの

  • cssbundling-railsというGemを追加する必要があります
  • npmでesbuildをインストールする必要があります
    • 上記2つの追加で初めてbin/devというコマンドでサーバーが起動するようになります
  • bootstrap5を使う場合、package.jsonに追記が必要です
    "scripts": {
        "build": "esbuild app/javascript/*.* --bundle --sourcemap --outdir=app/assets/builds",
        "build:css": "sass ./app/assets/stylesheets/application.bootstrap.scss ./app/assets/builds/application.css --no-source-map --load-path=node_modules"
    },
  • npmで@rails/ujs@types/rails__ujsもインストールする必要があります
    • これがないとmethod: :deleteが動きません

必要だったのか分からないもの

  • とりあえずコマンドを叩いた形跡はあるものの必要だったか分からないものです(要勉強)
    bin/bundle add importmap-rails
    bin/rails importmap:install
    bin/importmap pin bootstrap
    bin/importmap pin @rails/ujs

まとめ

  • Rails7になってから、手動でやらなければならないことが増えたり、サーバー起動コマンドが変更されました
  • (私を含む)慣れていない方には大変だと思います。少しでも参考になれればと思います
この記事をシェア

弊社では、一緒に会社を面白くしてくれる仲間を募集しています。
お気軽にお問い合わせください!