はじめに
「現場で使えるRuby on Rails 5 速習実践ガイド」にてrailsを勉強中なのですが、本書はバージョンが古く、最新バージョン(2024/06現在)ではruby/rails/etc..などで差異があるので書き残していく。
本書と同様の環境を作ろうと奮闘しましたが、相次ぐサポート切れとエラーを乗り越えrailsのインストールまで漕ぎつけたものの肝心のプロジェクト作成で転けて解決できず、渋々最新バージョンへ乗り換えました。(爪痕)
使用バージョン
ruby:3.2.1
rails:7.1.3.4
gem:3.4.6
bootstrap:5.3
erbからslimへのコンバート
本書ではhtml2slim
を仕様してerbからslimへのコンバートを行っていますが、記載通りの手順で行うとエラーになります。
$ bundle exec erb2slim app/views/layouts/ --delete
NoMethodError: undefined method `exists?' for File:Class
Use --trace for backtrace.
追加するgemをhtml2slim
からhtml2slim-ruby3
へ変更することで対処できました。
参考
マージンの設定
本書ではマージンライトを設定する際にはbootstrapのmr
クラスを使用しています。
bootstrap5以降では記法が変わり、me
クラスを使用する必要があります。
レフト(ml
)ならms
。
参考
DELETEメソッドでのリクエスト
rails7では
link_to({name},{path},method: :delete)
の形でDELETEメソッドを呼ぶことができない。
以下に修正する必要あり。
link_to({name},{path},data: {turbo_method: :delete})
リンクを踏んだ際のアラート表示
rails7では以下のようなリンクの記載だとアラートが表示されない。
link_to({name},{path},data: {confirm: "アラートメッセージ"})
以下に修正する必要あり。
link_to({name},{path},data: {turbo_confirm: "アラートメッセージ"})