Open7

Rails8.0を触ってみる

まめちゃんまめちゃん

非推奨 -> 削除されたものたち

Rails7からRailsを触り始めた私には使ったことのないものばかりであった、、

  • config.read_encrypted_secrets
    • 秘匿情報管理
  • rails/console/app
    • Rails ConsoleからControllerへ簡単にアクセスするもの
  • rails/console/helpers
    • Rails ConsoleからHelperメソッドへ簡単にアクセスするもの
  • Rails::ConsoleMethods
    • rails/console/{app,helpers}
まめちゃんまめちゃん

allow_deprecated_parameters_hash_equalityを削除

  • Rails7.2で非推奨になっていた
  • params を通常のHashと直接比較できないようにする
まめちゃんまめちゃん

form_with model: nil ができなくなった

  • やったことがなかったができなくなったらしい。
  • 代わりに url を持たせないとエラーが出るようになったとのこと
まめちゃんまめちゃん

空要素にコンテンツを渡せないようになった

  • 空要素 -> 子要素を持たない input, br などのHTMLタグたち
  • HTML標準に準拠する動き
  • やったことなかったのでRails7.2で試してみた
    • 下記のような挙動がRails8.0からはできなくなるとのこと

Rails7.2 で試してみた結果

# このようにすると
<%= tag.br "hello" %>
# このように出力された
<br>
hello
</br>
まめちゃんまめちゃん

ActiveRecordに関する非推奨な設定の削除

  • config.active_record.commit_transaction_on_non_local_return
    • トランザクション内で早期Returnするときにトランザクションをコミットさせる設定
  • config.active_record.allow_deprecated_singular_associations_name
    • 単数形のアソシエーション名を許可するための設定
  • config.active_record.warn_on_records_fetched_greater_than
    • 取得するレコードの数の閾値を定めて警告を出す設定
  • config.active_record.sqlite3_deprecated_warning
  • ActiveRecord::ConnectionAdapters::ConnectionPool#connection
    • 直接コネクションを取得するメソッド
      など