Action Text は Rails 標準のリッチテキストエディタ(Trix) を利用できる仕組みです。 Rails 8 ではアセット管理方式が Webpacker 廃止後の仕組みに統一され、Action Text の読み込み方法にも影響が出ています。
このページでは、Rails 7 → Rails 8 の変化点 と 導入方法 を中心にまとめます。
Rails 8 では次のいずれかの方式で JS / CSS を管理します。
Action Text(Trix)もこれらの方式に従って読み込む必要があります。
◇ importmap.rb に追加
pin "trix"
pin "@rails/actiontext"
◇ レイアウト内の JS 読み込み(※ < > を全角化しています)
<%= javascript_importmap_tags %>
◇ application.js に追記
import "trix"
import "@rails/actiontext"
◇ CSS 読み込み
import "trix/dist/trix.css"
◇ app/frontend/entrypoints/application.js に追記
import "trix"
import "@rails/actiontext"
import "trix/dist/trix.css"
Action Text × Active Storage の次の機能は Rails 8 でも同じです。
Rails 8 に同梱される Trix はアップデートされており:
例
<trix-toolbar>
<button data-trix-attribute="underline">U</button>
</trix-toolbar>
◇ Action Text のインストール
bin/rails action_text:install
◇ 自動生成される主なファイル
◇ レイアウトで CSS を読み込み
<%= stylesheet_link_tag "actiontext", "data-turbo-track": "reload" %>