Skip to content

Instantly share code, notes, and snippets.

@hodak
Created May 5, 2015 13:25
Show Gist options
  • Save hodak/64ba93f37ce2770580cb to your computer and use it in GitHub Desktop.
Save hodak/64ba93f37ce2770580cb to your computer and use it in GitHub Desktop.
Angular 1.4 paramSerializer

Angular < 1.4

# Angular
$http.get({
  url: '/api/search'
  method: 'GET'
  params:
    filters:
      a: true
      b: false
})
# Rails reads it as JSON
params[:filters]
# => "{\"a\":true,\"b\":false}"
# Can't use params.permit(filters: [:a, :b])

Angular >= 1.4

Introduced paramSerializer which works like jQuery's $.param().

# Angular
$http.get({
  url: '/api/search'
  method: 'GET'
  params:
    filters:
      a: true
      b: false
  paramSerializer: '$httpParamSerializerJQLike'
})
# Rails reads it as Hash
params[:filters]
# => {"a"=>"true", "b"=>"false"}
# params.permit(filters: [:a, :b]) works as expected
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment