Rails 7.2.0 Action View CHANGELOG(全項目リンク付き)
更新14件
Add queries count to template rendering instrumentation by fatkodima · Pull Request #51457 · rails/rails
参考: 週刊Railsウォッチ20240416: クエリ数とクエリキャッシュヒット数をログに表示するようになった
- テンプレートレンダリングのinstrumentationにクエリカウントを追加
# 改修前
Completed 200 OK in 3804ms (Views: 41.0ms | ActiveRecord: 33.5ms | Allocations: 112788)
# 改修後
Completed 200 OK in 3804ms (Views: 41.0ms | ActiveRecord: 33.5ms (2 queries, 1 cached) | Allocations: 112788)
fatkodima
Raise ArgumentError
if :renderable
object does not respond to #render_in
by seanpdoyle · Pull Request #50665 · rails/rails
:renderable
オブジェクトが#render_in
に応答しない場合はArgumentError
を発生するよう修正
Sean Doyle
Add the nonce: true
option for stylesheet_link_tag
helper by akhilgkrishnan · Pull Request #50591 · rails/rails
stylesheet_link_tag
ヘルパーにnonce: true
オプションを追加
Content Security Policyでnonce自動生成をサポートするため。
javascript_include_tag nonce: true
と同じ動作になる。
Akhil G Krishnan, AJ Esler
Parse ActionView::TestCase#rendered
as DocumentFragment by seanpdoyle · Pull Request #50584 · rails/rails
ActionView::TestCase#rendered
のHTMLコンテンツ解析が、Nokogiri::XML::Document
ではなくNokogiri::XML::DocumentFragment
と同じになるよう修正
Sean Doyle
Rename ActionView::TestCase::Behavior::{Content,RenderedViewContent}
by seanpdoyle · Pull Request #49856 · rails/rails
注: この修正はRails 7.1.3でリリース済みです。
ActionView::TestCase::Behavior::Content
をActionView::TestCase::Behavior::RenderedViewContent
にリネーム
RenderedViewContent
がString
から継承するようにし、private APIを:nodoc:
にした。
Sean Doyle
deprecate passing nil as model arg instead of raising ArgumentError by cjilbert504 · Pull Request #50931 · rails/rails
参考: 週刊Railsウォッチ20240221: form_with
のmodel
オプションにnil
を渡すことが非推奨化された
form_with
メソッドにmodel:
引数の値としてnil
を渡すことを非推奨化する
Collin Jilbert
Alias field_set_tag
helper to fieldset_tag
by seanpdoyle · Pull Request #50241 · rails/rails
参考: 週刊Railsウォッチ20231222: field_set_tag
ヘルパーメソッドのエイリアスfieldset_tag
を追加
<fieldset>
要素の命名に合わせるため、field_set_tag
ヘルパーのエイリアスfieldset_tag
を追加
Sean Doyle
Deprecate content for void elements in TagBuilder by skipkayhil · Pull Request #50159 · rails/rails
tag.br
タグビルダーを使う場合に、空要素にコンテンツを渡すことを非推奨化
Hartley McGuire
参考: Rails API tag
-- ActionView::Helpers::TagHelper
Handle negative numbers in NumberToHumanSizeConverter
by Earlopain · Pull Request #49791 · rails/rails
参考: 週刊Railsウォッチ20231107: number_to_human_size
で負数を扱えるよう修正
注: この修正はRails 7.1.2でリリース済みです。
#to_fs(:human_size)
が負の値でも正常に動作するよう修正
Earlopain
Ignore implicit locals if not declared by templates with strict locals by byroot · Pull Request #49782 · rails/rails
注: この修正はRails 7.1.2でリリース済みです。
- 暗黙のlocalsを受け取れないテンプレートをコレクションレンダリングしたときに注入される
locals
を自動的に破棄するよう修正。
コレクションをレンダリングすると2つの変数が注入されるため、strictなlocals
を使うテンプレートが壊れていた。
修正によって、テンプレートが実際にそれらの変数を受け取り可能な場合にのみ、それらの変数が渡されるようになった。
Yasha Krasnou, Jean Boussier
Fix rails-ujs auto start() in bundled environments [7-1-stable] by skipkayhil · Pull Request #49773 · rails/rails
注: この修正はRails 7.1.2でリリース済みです。
- JSバンドラーを使ったときに
@rails/ujs
がstart()
を余分な回数呼び出していたのを修正
Hartley McGuire, Ryunosuke Sato
Fix capture
view helper for HAML and Slim by casperisfine · Pull Request #49612 · rails/rails
参考: 週刊Railsウォッチ20231024: capture
ビューヘルパーがHAMLやSlimで空文字列""をキャプチャしたときの振る舞いを修正
注: この修正はRails 7.1.2でリリース済みです。
capture
ビューヘルパーと、HAMLやSlimとの互換性を修正
HAMLやSlim(他のテンプレートエンジンでも起きる可能性あり)で空文字列""がcapture
されるとバッファ全体が返されていた。
Jean Boussier
Updated @rails/ujs
files to follow 8e3449908c59858384ae230d1416c7dcabc8c2dc by tricknotes · Pull Request #49553 · rails/rails
注: このセキュリティ修正はRails 7.1.1でリリース済みです。
@rails/ujs
ファイルを更新して、要素がisContentEditable
の場合に特定のdata-*
属性を無視するようにした
この修正はRails 7.0.4.3以降、Rails 7.1.0未満で導入済み。
CVE-2023-23913]
Ryunosuke Sato
HTML tag validation added for tag names by akhilgkrishnan · Pull Request #49175 · rails/rails
参考: 週刊Railsウォッチ20231011: tag
とcontent_tag
に無効なHTML文字を渡すとエラーをraiseするようになった
tag
やcontent_tag
ヘルパーメソッドにHTMLタグ名のバリデーションを追加
この修正によって、tag
(またはcontent_tag
)ヘルパーメソッドに渡したタグ名がHTML仕様に準拠しているかどうかをチェックするようになった。無効なHTMLタグ名を渡された場合、このメソッドは適切なエラーメッセージと共にArgumentError
を発生する。
例:
# ArgumentError: Invalid HTML5 tag name: 12p
content_tag("12p") # 数値で始まるタグ名は無効
# ArgumentError: Invalid HTML5 tag name: ""
content_tag("") # タグ名が空なのは無効
# ArgumentError: Invalid HTML5 tag name: div/
tag("div/") # `/`を含めるのは無効
# ArgumentError: Invalid HTML5 tag name: "image file"
tag("image file") # タグ名にスペースを含めるのは無効
Akhil G Krishnan
注: content_tag
は7.2の時点でもレガシー記法とされていますが、現在も一応使えます。
関連記事
The post Rails 7.2.0 Action View CHANGELOG(全項目リンク付き) first appeared on TechRacho.
概要
MITライセンスに基づいて翻訳・公開いたします。
なお、機能削除のエントリについては、原則として7.2での削除プルリクではなく、その機能が非推奨化されたときの過去のプルリクへリンクしています。