Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails json作为哈希而不是数组发布_Ruby On Rails_Ruby_Json - Fatal编程技术网

Ruby on rails rails json作为哈希而不是数组发布

Ruby on rails rails json作为哈希而不是数组发布,ruby-on-rails,ruby,json,Ruby On Rails,Ruby,Json,我在ajax发布到ROR操作(从一台服务器到另一台服务器)时遇到了一些问题。基本上,这一要求: post_json = { "stuff": [{"1" => "foo"}] }; $.ajax({ url: "http://someurl.com/api/random_post_action", type: "post", dataType: "json", data: post_json, success: function(data){ console.

我在ajax发布到ROR操作(从一台服务器到另一台服务器)时遇到了一些问题。基本上,这一要求:

post_json = { "stuff": [{"1" => "foo"}] };

$.ajax({
  url: "http://someurl.com/api/random_post_action",
  type: "post",
  dataType: "json",
  data: post_json,
  success: function(data){
    console.log(data);
}});
在random_post_动作参数(ruby on rails)中给出:

预期:

{
  "stuff" => [
    [0] {
          "1" => "foo"
        }
  ],
  "controller" => "api",
  "action" => "random_post_action"
}

我不确定发生了什么…

您希望json无效?你的post_json应该是
{“stuff”=>[{“1”},{“foo”}]}
,正如它所说的那样
{“1”}
{“foo”}
是完全分离的对象。。如果您想要1=>foo,那么您需要
。。[{“1”:“foo”}]
@sircapsalot很抱歉,我在写上面的问题时错了。问题仍然存在。“问题仍然存在”?什么问题?我看到了一些陈述,但没有提出任何问题。也许你是想问“为什么“stuff”是一个散列而不是一个散列数组?”@如果不清楚的话,很抱歉,但你的回答相当苛刻。我已经说明了我所得到的和我所期望的,我认为问题很清楚。也许你可以回答我的问题,为什么我得到的是散列而不是数组?这将更有建设性。
{
  "stuff" => [
    [0] {
          "1" => "foo"
        }
  ],
  "controller" => "api",
  "action" => "random_post_action"
}