0
我有窗体视图包含几个字段和谷歌地图与工具放置标记。我想附加到以JavaScript JSON数组存储的请求标记坐标。填写完所有字段后,我会发送,并通过单击发送按钮选择标记所有数据。由jQuery $(this).serialize()
转换的表单不被Rails接受。说明性材料:如何将JSON数组与来自Rails中表单的数据一起发送?
JavaScript的:
$('form').submit(function() {
var url = $(this).attr('action');
var data = { post: JSON.stringify(markersArray) };
// var data = $(this).serialize();
$.post(url, data, function(result) {
//result
});
return false;
});
滑轨控制器:
def create
received_data = params[:post]
markersArray = ActiveSupport::JSON.decode(received_data)
#only JSON
@post = Post.new(markersArray)
#normal approach only form
#@post = Post.new(received_data)
@post.save
end
EDIT
收稿JSON:
Parameters: {"post"=>"{\"markers\":[[52.40637,16.92517],[52.40601,16.925040000000003],[52.405750000000005,16.92493],[52.40514,16.92463],[52.404320000000006,16.924200000000003],[52.40393,16.92406]]}"}
收到的形式:
Parameters: {
"utf8"=>"✓",
"authenticity_token"=>"nehoT1fnza/ZW4XB4v27uZsfFjjOu/ucIhzMmMKgWPo=",
"post"=>{
"title"=>"test",
"description"=>"fewfewfew"},
"commit"=>"Save"}
'params [:post]'的价值是什么? – nicholaides