ActionView form helpers RDoc examples corrected
ActionView の form helpers に記載されていた RDoc サンプルが実際の出力と食い違っていた箇所を修正し、ドキュメントと実装の整合性を高めました。
背景
誤ったサンプルは利用者に誤解を招くリスクがありました。 month_field と week_field の例では type="date" が記載されていましたが、実際にはそれぞれ type="month" と type="week" が生成されます。同様に select ヘルパーの多選択例ではブール属性の表記が multiple="true" となっており、正しくは multiple="multiple" です。これらの不一致は、公式ドキュメントを参照する開発者に誤った実装イメージを与える可能性があり、修正が求められました。
技術的な変更
RDoc コメントの例示部分を実際の出力に合わせて修正しました。 以下に主要な差分を示します。
- # # => <input id="user_born_on" name="user[born_on]" type="date" value="1984-01" />
+ # # => <input id="user_born_on" name="user[born_on]" type="month" value="1984-01" />
- # # => <input id="user_born_on" name="user[born_on]" type="date" value="1984-W19" />
+ # # => <input id="user_born_on" name="user[born_on]" type="week" value="1984-W19" />
- # select :post, :person_ids, Person.all.collect { |p| [ p.name, p.id ] }, { multiple: true })
+ # select :post, :person_ids, Person.all.collect { |p| [ p.name, p.id ] }, { multiple: true }
@@
- # <select name="post[person_ids][]" id="post_person_ids" multiple="true">
+ # <select name="post[person_ids][]" id="post_person_ids" multiple="multiple">
コメント以外のロジックは変更していません。 変更対象はすべて RDoc のサンプル出力文字列であり、実際のヘルパーメソッドやタグビルダーの挙動には影響を与えていません。したがって、既存のコードベースやテストスイートに対するリグレッションの懸念はありません。
設計判断
ドキュメントの正確性を最優先する方針が示されました。 本 PR では実装コードを変更せず、コメントのみを調整することで問題を解消しています。Rails コアチームは、実装とドキュメントの齟齬が利用者に与える混乱を防ぐため、例示の出力を常に実際のレンダリング結果と一致させることを方針として明示しています。
変更は最小限の差分に留められました。 余計なコメント削除や再フォーマットは行わず、誤り部分だけを置き換えることで、レビューコストとマージリスクを抑えています。これにより、将来的にドキュメント更新が必要になった際にも、対象箇所を特定しやすくなる利点があります。
まとめ
RDoc のサンプルが実際の出力と食い違っていた問題を修正し、ActionView の form helpers に関するドキュメントの信頼性を向上させました。コードロジックは変わらないため動作への影響はなく、ドキュメントメンテナンスの方針が明確になったことが本変更の主な意義です。