# 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])
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