• S
    Memoize user provided defaults before type casting · ba06dab5
    Sean Griffin 提交于
    When a proc is given as a default value, the form builder ends up
    displaying `Proc#to_s` when the default is used. That's because we
    didn't handle the proc until type casting. This issue technically can
    occur any time that a proc is the value before type casting, but in
    reality the only place that will occur is when a proc default is
    provided through the attributes API, so the best place to handle this
    edge case is there.
    
    I've opted to memoize instead of just moving the `Proc#call` up, as this
    made me realize that it could potentially interact very poorly with
    dirty checking.
    
    The code here is a little redundant, but I don't want to rely on how
    `value_before_type_cast` is implemented in the super class, even if it's
    just an `attr_reader`.
    
    Fixes #24249
    
    Close #24306
    ba06dab5
可在Tags中查看这些版本中当前仓库的状态.
CHANGELOG.md 53.8 KB