Ruby on Rails7がリリースされたのでインストールして少し動かしてみました、教育ではScaffoldで生成されたコードをもとに行うのですが、なんと生成される画面がRails6とは大きく変わっていました。
Railsはバージョン1.2から使っていますが、Scaffoldが生成する画面が変わったのは初めてだと思います。従来もURLやCSSの変更、XML/JSONへの対応等は変わって来ましたが通常のHTML画面が変わったのには驚きました。
また、デフォルトの画面が下のように可愛い画像からシンプルな画像に変わりました。Rails5で登場した可愛い画像が変わってしまったのはとても残念ですが。
2021-02-01追加 redditにもScaffold Index no longer generating HTML Tablesという記事があがっていました。
Ruby on Rails 6.1まで
さてRails6.1までのScaffoldが生成する画面をふり返ってみましょう。
まず一覧表示(index)、<table>
タグを使い表形式で情報が表示されています。
また情報の右側に、詳細表示(show)、編集(edit)、削除(destroy)へのリンクがあります。一覧の下に新規作成(new)へのリンクもあります。
詳細表示(show)画面には情報の表示と、編集(edit)、戻る(back)リンクがあります。
編集(edit)画面には情報の入力(変更)欄と、更新(Update)ボタンが並んでいます。 また詳細表示(show)、戻る(back)リンクがあります。
この画面構成は、管理画面を作ったりするのにはとても都合が良かったです。実際のECサイト・アプリでも管理画面はScaffoldのコードを使っています。
Ruby on Rails 7
Rails7では一覧表示(index)画面が大きくかわりました。情報は表形式ではなく<div>
で区切られた情報が並んでいます、今時はCSSで表示レイアウトを設定するので、アプリ作成者こはの方が良いのかもしれません。
また、編集(edit)、削除(destroy)へのリンクが無くなりました。これも作成者には現実的かもしれません。
詳細表示(show)画面には情報の表示と、編集(edit)、戻る(back)に加え削除(destroy)リンクが追加されました。
編集(edit)画面はほぼ同じですが、日付指定はHTML5の<input type="date">
を使っています。したがって日付の指定もカレンダーを使えるようになりました。
まとめ
Railsは昔から使っていますがScaffoldの生成する画面がかわったのは初めてかもしれません。しかし考えてみると、今まで変わらなかったのが不思議だったのかもしれませんね。今回の変更は現時点で画面を含むRailsアプリを作る人にとっては良いことだと思います・・・今時画面はReactやVueなどを使う事が増えてきましたが・・・。
私自身、最近はRuby on Railsでアプリを作る事はなくなりまいたが、教育ではRuby on Railsを使っています。トータルでWebアプリを学ぶには今でもRailsは良いものだと思っています。
ということで、Ruby on Rails教育のテキストを直さなくては😅