はじめに
復習ついでに、RailsチュートリアルをRails7でやってみようという記事です。
完走(続きが記述)できるかは筆者の仕事状況・疲労とやる気次第です 、ご了承下さい。
Rails7になっての変更点はスペシャリストの方々が
纏めてくださっているので調べてください。
自分はぶっつけ本番ですので頓挫するかもしれませんがやるだけやってみます。
熟練者ではないので、6版のチュートリアルを見ながらやってみて
差分でエラーが出たら勉強しながらトライしていこうという目的も込でやってみます。
一応メモ書き程度に捉えておいてください。
- 開発環境
WSL(Ubuntu-20.04LTS)
VSCode
Rails 7.0.2.3
Ruby 3.1.0
環境構築まではRailsガイドに沿って実施済み
一応、Webpacker、Node.jsは使わなくなったとのことなので、最低限留意して進めます。
多分、以下のポイントを軒並み踏んで苦戦していくと思いますがご容赦ください。
アプリケーション作成
とりあえず、細かなオプションを指定せず
DBだけpostgresqlにしました。
rails _7.0.1_ new hello_app -d postgresql
(筆者はPostgreSQLの方に慣れているだけなので、当てはまらない方はデフォルトで良いと思います)
フロントエンド周りにも大幅な変更が加わった、とのことなので
正直このオプション指定しかしていない時点で不安が残りますが、とにかく進めます。
毎回忘れるので、オプションについては以下の記事を参考にしました
はい、作成は無事に完了しました。
Gemfileの中身が色々異なりますが、とりあえず見なかったことにして進めます。
内容は変更せず、このまま
bundle install
を実行します。
rails s
の代わりにbin/env
らしいので
必要な以下をインストールしておきます。
gem install foreman
(普通にrails s
コマンドを使用できましたが、
情報不足の可能性があるので後々調べておきます)
さて、rails s
できたはいいけどlocalhost:3000
にアクセスすると
ActiveRecord::NoDatabaseError
で怒られますね…
bin/rails db:create
してください書いてあるから実行するか…
(怒られない方はそのまま進めてください)
再度トライ…はい、例の画面が出ました。
(と思ったらRails初期画面変わったのか…こんなシンプルになってしまって悲しい…)
Windows 10 or 11(WSL2)で
systemctl
を動作させるには工夫が必要なようなので、PostgreSQLを利用される方は
rails s
前に毎回
sudo service postgresql start
を実行してください。
次に続く…かは筆者の頑張り次第です…