• 
      

    Fix BaseResourceModel.save to not assume that options is non-null.

    Review Request #13612 — Created March 5, 2024 and submitted

    Information

    Review Board
    release-7.x

    Reviewers

    In the vast majority of cases, calling save() on a resource will
    either include a caller-provided options object, or will get the
    default value from being unspecified. The one case I've found where this
    is not the case is Backbone.Collection.create(), which explicitly
    calls save() on the object with a null options.

    This change bullet-proofs that so we don't crash.

    Saw that I could use code that called Collection.create without it
    hitting an error.

    Summary ID
    Fix BaseResourceModel.save to not assume that options is non-null.
    In the vast majority of cases, calling `save()` on a resource will either include a caller-provided `options` object, or will get the default value from being unspecified. The one case I've found where this is not the case is `Backbone.Collection.create()`, which explicitly calls `save()` on the object with a `null` options. This change bullet-proofs that so we don't crash. Testing Done: Saw that I could use code that called `Collection.create` without it hitting an error.
    49d8aca06645b12c8a43654be84528aa096be03c
    Description From Last Updated

    You can do options ||= {}; Alternatively, if we only want to do this for null/undefined (rather than falsy values), …

    chipx86chipx86
    maubin
    1. Ship It!
    2. 
        
    chipx86
    1. 
        
    2. Show all issues

      You can do options ||= {};

      Alternatively, if we only want to do this for null/undefined (rather than falsy values), ??= works.

    3. 
        
    david
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-7.x (8d5c6c8)