1 升級至 Rails 8.0
如果您要升級現有的應用程式,最好在開始之前有良好的測試涵蓋率。您也應該先升級到 Rails 7.2(如果您尚未升級),並確保您的應用程式在嘗試更新到 Rails 8.0 之前仍然可以正常執行。升級時需要注意的事項列表可在升級 Ruby on Rails 指南中找到。
2 主要功能
3 Railties
有關詳細的變更,請參閱變更日誌。
3.1 移除
移除已棄用的
config.read_encrypted_secrets
。移除已棄用的檔案
rails/console/app
。移除已棄用的檔案
rails/console/helpers
。移除已棄用的透過
Rails::ConsoleMethods
擴展 Rails 主控台的支援。
3.2 棄用
3.3 值得注意的變更
- 預設將
Regexp.timeout
設定為1
秒,以提高對 Regexp 阻斷服務攻擊的安全性。
4 Action Cable
有關詳細的變更,請參閱變更日誌。
4.1 移除
4.2 棄用
4.3 值得注意的變更
5 Action Pack
有關詳細的變更,請參閱變更日誌。
5.1 移除
- 移除
Rails.application.config.action_controller.allow_deprecated_parameters_hash_equality
。
5.2 棄用
5.3 值得注意的變更
6 Action View
有關詳細的變更,請參閱變更日誌。
6.1 移除
移除將
nil
傳遞給form_with
的model:
參數的已棄用支援。移除在
tag
建構器上將內容傳遞給空標籤元素的已棄用支援。
6.2 棄用
6.3 值得注意的變更
7 Action Mailer
有關詳細的變更,請參閱變更日誌。
7.1 移除
7.2 棄用
7.3 值得注意的變更
8 Active Record
有關詳細的變更,請參閱變更日誌。
8.1 移除
移除已棄用的
config.active_record.commit_transaction_on_non_local_return
。移除已棄用的
config.active_record.allow_deprecated_singular_associations_name
。移除對尋找未註冊到 Active Record 的資料庫配接器的已棄用支援。
移除使用關鍵字引數定義
enum
的已棄用支援。移除已棄用的
config.active_record.warn_on_records_fetched_greater_than
。移除已棄用的
config.active_record.sqlite3_deprecated_warning
。移除已棄用的
ActiveRecord::ConnectionAdapters::ConnectionPool#connection
。移除將資料庫名稱傳遞給
cache_dump_filename
的已棄用支援。移除設定
ENV["SCHEMA_CACHE"]
的已棄用支援。
8.2 棄用
8.3 值得注意的變更
9 Active Storage
有關詳細的變更,請參閱變更日誌。
9.1 移除
9.2 棄用
9.3 值得注意的變更
10 Active Model
有關詳細的變更,請參閱變更日誌。
10.1 移除
10.2 棄用
10.3 值得注意的變更
11 Active Support
有關詳細的變更,請參閱變更日誌。
11.1 移除
移除已棄用的
ActiveSupport::ProxyObject
。移除使用
@
字首設定attr_internal_naming_format
的已棄用支援。移除將字串陣列傳遞給
ActiveSupport::Deprecation#warn
的已棄用支援。
11.2 棄用
11.3 值得注意的變更
12 Active Job
有關詳細的變更,請參閱變更日誌。
12.1 移除
- 移除已棄用的
config.active_job.use_big_decimal_serializer
。
12.2 棄用
12.3 值得注意的變更
13 Action Text
有關詳細的變更,請參閱變更日誌。
13.1 移除
13.2 棄用
13.3 值得注意的變更
14 Action Mailbox
有關詳細的變更,請參閱變更日誌。
14.1 移除
14.2 棄用
14.3 值得注意的變更
15 Ruby on Rails 指南
有關詳細的變更,請參閱變更日誌。
15.1 值得注意的變更
16 鳴謝
請參閱Rails 的完整貢獻者列表,了解許多花費數小時讓 Rails 成為穩定且強大的框架的人們。向他們所有人致敬。