passing array of objects from js to rails
You should use JSON.stringify
in Javascript, which takes either an array or hash as its argument (since these are the only valid JSON constructions). It returns a form which is the Javascript object serialized to JSON.
On the Ruby side, you'll receive a JSON encoded string, so you'll need to require 'json'
(this is done automatically in Rails) and use JSON.parse(string)
. This will give you a Ruby object.
Try this:
data.test = [{test: 'asdas'}]$.ajax({ url: 'evaluate.json', data: JSON.stringify(data), // Explicit JSON serialization contentType: 'application/json', // Overwrite the default content type: application/x-www-form-urlencoded success: function(data){ }, dataType : "json"});