🎇
華金勉強会
/
Rails7の新機能を読む会
Rails7の新機能を読む会
2024/6/10
5:32
2024/6/10
5:32
これは何
Rails6.1から7.0にアップデート中なので、今のうちに新機能や差分を知る会
対象
Rails書いたことがある方
Rails7の新機能や6との違いをざっくり知りたい方
方法
以下を順々に読んでいく
https://appbrew.slack.com/archives/C03MY1XTZ3M/p1660883353492229?thread_ts=1660881874.692349&cid=C03MY1XTZ3M
で触れた内容を中心に話します!
Ruby on Rails 7.0 リリースノート - Railsガイド
既存のアプリケーションをアップグレードするのであれば、その前に質のよいテストカバレッジを用意するのはよい考えです。アプリケーションがRails 6.1までアップグレードされていない場合は先にそれを完了し、アプリケーションが正常に動作することを十分確認してからRails 7.0にアップデートしてください。アップグレードの注意点などについては Railsアップグレードガイド を参照してください。 (準備中...) 変更点について詳しくは Changelog を参照してください。 (準備中...) 変更点について詳しくは Changelog を参照してください。 (準備中...) (準備中...) (準備中...) 変更点について詳しくは Changelog を参照してください。 非推奨化されていた ActionDispatch::Response.return_only_media_type_on_content_type を削除。 非推奨化されていた Rails.config.action_dispatch.hosts_response_app を削除。 非推奨化されていた ActionDispatch::SystemTestCase#host!
https://railsguides.jp/7_0_release_notes.html
Rails アップグレードガイド - Railsガイド
既存のアプリケーションをアップグレードする前に、アップグレードする理由を明確にしておく必要があります。「新しいバージョンのどの機能か必要か」「既存コードのサポートがどのぐらい困難になるか」「アップグレードに割り当てられる時間と人員スキルはどのぐらいか」など、いくつもの要素を調整しなければなりません。 ...
https://railsguides.jp/upgrading_ruby_on_rails.html#rails-6-1%E3%81%8B%E3%82%89rails-7-0%E3%81%B8%E3%81%AE%E3%82%A2%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89
Ruby on Rails 7の主要な新機能・機能追加・変更点 - Qiita
Ruby on Rails(以下Rails)の最新バージョンである7.0(以下Rails 7)が2021年12月15日に リリース されました。 Rails 7では、JavaScriptフロントエンドの大幅な刷新、CSS BundlingによるTailwind CSSやPostCSSのサポートを含めた、メジャーバージョンアップグレードにふさわしい機能強化が行われています。 本記事では、 Railsの公式ブログや Railsガイド、GitHubのRailsプロジェクトの Issuesや Pull Requests の内容をもとに、Rails 7の主要な新機能・機能追加・変更点の紹介を行います。 ※ 以前のバージョンのRailsの主要な新機能・機能追加・変更点については以下を参照してください。 Rails 7を動かすには、Ruby 2.7.0以上が必要になります。可能であれば、Ruby 3.0系列にアップグレードを行ってください。Ruby 3.1については、Rails 7.0.0では非対応ですが、今後サポートされる予定です。 Rails 7のリリース後は、Railsのバージョン7.0系列と、6.1系列がセキュリティアップデートの対象となります。それより前の6.0系列、5.2系列についても深刻なセキュリティ問題に対する修正は行われますが、サポート期間が短くなっていますので、注意してください。 参考 ES6(ECMAScript 6)/ ESM(ECMAScript modules) 、HTTP/2、 import maps を使用することで、Node.jsをインストールせずにモダンなJavaScriptをRailsアプリケーションで利用することが可能になりました。 以前のRailsのバージョンでは、Webpacker経由でWebpackを使用してJavaScriptファイルを依存するライブラリと共に結合・処理してその結果のファイルを使用していました。 最近では、ES6 / ESMのブラウザサポートによってJavaScriptのコンパイル・結合が不要になり、HTTP/2で配信することで小さな複数のファイルのままでもネットワーク経由での読み込み速度が落ちなくなりました。また、import mapsを使用することでライブラリの名前解決を行なって直接CDNなどから取得できるようになりました。 Rails 7では上記の技術的進歩を踏まえた上で、標準ではWebpacker / Node.jsを使用しなくても良いようになっています。(以前のように使用することも可能です。) デフォルトでは、 Hotwire、 Stimulus、 Turbo といったライブラリがインストールされ、リッチなUI/UXを実現するSPA(シングルページアプリケーション)を実装する際に利用することができます。(Webpackerはデフォルトではインストールされなくなりました。) cssbundling-railsというGemをインストールすることで、 Tailwind CSS、 Bootstrap、 Bulma、 PostCSS、 Dart Sass を使用して、CSSファイルを結合・処理し、Railsのアセットパイプラインに載せることが可能になりました。 使用するCSSライブラリは、アプリケーションの新規作成時に以下のようにして、--css オプションで指定することができます。例えば、Tailwind CSSを指定するには以下のようにします。 また、既存のアプリケーションでは、Gemfileに以下の行を追加して、 以下のコマンドを実行することで、インストールと初期設定を行うことが可能です。 これにより、 tailwind.config.js などの設定ファイルが生成されます。 開発時には yarn build:css --watchコマンドを実行することで、リアルタイムでCSSファイルの処理を行いながらブラウザで結果を確認することができます。デプロイ時には、 assets:precompile 実行時にCSSファイルの処理が行われます。 参考 アプリケーション内でActive Recordの属性を暗号化した状態でDBに保存したり、読み出しを行うことができるようになりました。これによって、意図せずにユーザーの機密情報をアプリケーションのログや外部に公開してしまわないように、属性レベルできめ細かい制御が行うことができます。 設定を行うには bin/rails db:encryption:initのコマンドを実行して、ランダムなキーを生成し、その結果を bin/rails credentials:edit ...
https://qiita.com/ryohashimoto/items/f5382478c78f296d8291
Rails 7でフロントエンド開発が大きく変わる | RE:ENGINES
12月15日に Rails 7.0 がリリースされました。今回の変更の中でおそらく一番大きな変更になるのは、フロントエンド周りで、 Node.js が(標準で)使われなくなった点ではないでしょうか。 今回は、そのあたりの経緯と新たに追加されたGemについて紹介します。 "So despite what a leap forward ES6 everywhere, ubiquitous HTTP2, and import maps combine to present, there's clearly still a class of apps that'll need Webpack. Not everyone can take these things out yet, but those who can will be mightily pleased."
https://re-engines.com/2021/12/27/rails7-frontend/
深津さんからアップデートで印象に残ったことを聞かせていただく
‣
の廃止
‣
‣
activerecord6-redshift-adapterのrails7版がなかった
github.com
https://github.com/appbrew/make-server/pull/15209#issuecomment-1184009380
宿題
なし(いつでも自由参加)