null attributes serialized to "null" string #364

Closed
codyfauser opened this Issue Mar 23, 2012 · 2 comments

4 participants

@codyfauser

Example code:

class Shopify.EmailTemplate extends Shopify.Model
  @persist Shopify.APIStorage
  @encode 'body', 'body_html', 'include_html', 'name', 'title'

  preview: ->
    new Batman.Request
      url: "/admin/email_templates/preview_copy.json"
      method: "post"
      data: 
        email_template: @toJSON()

Object constructed server side:

#<EmailTemplate id: nil, name: "Order Confirmation", body_html: "null">

@johnthethird

It seems that the null value is propagated correctly through Batman, and then gets encoded to "foo=bar&baz=null" by the jQuery.ajax code.

$.param({foo: null}) => "foo=null"
$.param({foo: ""}) => "foo="

See this jQuery bug

@johnthethird

OK, I just saw this commit that should have fixed it as long as you source the solo or rails extras... 7913db6

@airhorns airhorns closed this in 201c47f May 21, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment