所以我有一个奇怪的问题,jquery用ruby对象做一个ajax帖子。我有2个选择。 1. $('form_id'}。serialize()。我知道这很有用。但是我的表单只有很多字段,而且在表单中管理它们有点太不方便了 2.第二个选项,rails控件正在编辑表单的过程中构建一个ruby对象。只有当我可以简单地粘贴在ajax post请求中的对象时,这才是非常方便的。显然我能够用这样的东西......
some_function() {
$.ajax( {type: post, url: '/action', data: { 'post_data': <%= @ruby_object.to_json %> }});
}
如果您想知道这是有效的,那就确实如此。 (不知道如何以及为什么) 但是有一个小问题。 ruby对象在哈希中有一个哈希数组,如{{{}}}似乎有人在某处将该数组转换为带有键的哈希值,这些键是该数组的索引。因此,在操作中,如果我打印参数,我会得到{{{}}}。那么有人可以告诉我如何获得这个并完全恢复原始对象结构吗?
答案 0 :(得分:0)
您在JS对象上执行$ .toJSON,并将其发布为“json”格式。如果你很好奇,Rails如何将发布数据转换为Ruby对象,请检查actionpack-3.0.7/lib/action_dispatch/middleware/params_parser.rb