如何在Rails中发布数组

Han*_*nXu 9 html jquery ruby-on-rails

我想将数据作为JSON发布到控制器

在javascript中,数据是一个数组,例如,a = [1,2]

然后我发帖,说

$.post('user/data', {'data' : a})
Run Code Online (Sandbox Code Playgroud)

在用户控制器中,我从params获取数据.

但是,当我检索params [:data]时,我得到了一个哈希:

{"0"=>1, "1"=>2}
Run Code Online (Sandbox Code Playgroud)

而不是一个数组!

所以我必须手动将哈希转换为数组.

有没有方法将确切的数组传递给控制器​​?

cla*_*mes 1

您必须将 JSON 转换为字符串,但这可行:

/path/to/url?data[]=1&data[]=2&data[]=3

在控制器中,执行以下操作:

params[:data].each_with_index do |data, index| 
   do_something_with_data
end
Run Code Online (Sandbox Code Playgroud)