我试图将对象数组从js传递到rails
data.test = [{test: 'asdas'}] $.ajax({ url: 'evaluate.json', data: data, success: function(data){ }, dataType : "json" });
滑轨
def evaluate logger.info("#{params.test}") end
在这里,记录器语句总是让我把
{"0"=>{"test"=>"asdas"}}
我期望下面的登录轨道。
[{:test=>"asdas"}]
您应该JSON.stringify在Javascript中使用Javascript,该Javascript以数组或哈希作为参数(因为它们是唯一有效的JSON构造)。它返回一个形式,该形式是序列化为JSON的Javascript对象。
JSON.stringify
在Ruby方面,您将收到JSON编码的字符串,因此需要require 'json'(在Rails中自动完成)并使用JSON.parse(string)。这将为您提供一个Ruby对象。
require 'json'
JSON.parse(string)