0
0

「現場で使えるRuby on Rails 5 速習実践ガイド」の内容を最新バージョンでやってみた

Last updated at Posted at 2024-06-12

はじめに

「現場で使える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
参考

スクリーンショット 2024-06-11 9.43.41.png
スクリーンショット 2024-06-11 9.43.54.png

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: "アラートメッセージ"})

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0