Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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 3 如何发送Json以在Rails中进行更新?_Ruby On Rails 3_Actionscript 3_Flex4 - Fatal编程技术网

Ruby on rails 3 如何发送Json以在Rails中进行更新?

Ruby on rails 3 如何发送Json以在Rails中进行更新?,ruby-on-rails-3,actionscript-3,flex4,Ruby On Rails 3,Actionscript 3,Flex4,我正在尝试在flex和rails之间进行如下更新: // TODO Auto-generated method stub var strXml:XML = <test> <test_id>{txtMarketId.text}</test_id> <market_name>{txtMarketName.text}</market_name> </test>; req = new URLRequest("http://loca

我正在尝试在flex和rails之间进行如下更新:

// TODO Auto-generated method stub
var strXml:XML = <test>
<test_id>{txtMarketId.text}</test_id>
<market_name>{txtMarketName.text}</market_name>
</test>;

req = new URLRequest("http://localhost:3000/tests/"+market_id);
jrwloader  = new URLLoader();
params = new URLVariables();
req.data = strXml.toString();                               
req.method = URLRequestMethod.POST;                                                         
req.requestHeaders.push(new URLRequestHeader("X-HTTP-Method-Override", URLRequestMethod.PUT));                                                          
jrwloader.load(req);
req = new URLRequest("http://localhost:3000/tests/"+market_id);
jrwloader  = new URLLoader();
params = new URLVariables();
req.data = strXml.toString();                               
req.method = URLRequestMethod.POST;                                                         
req.requestHeaders.push(new URLRequestHeader("X-HTTP-Method-Override", URLRequestMethod.PUT));                                                          
**req.requestHeaders.push(new URLRequestHeader("Content-type", 'application/xml'));**         jrwloader.load(req);

我想我已接近答案,但我无法将新数据设置到数据库中。

您应该将CSRF令牌添加到您的请求中


下面是关于这个主题的更多信息:

我解决它!主要的问题是在我的请求中添加一行。最后我得到了这样的结果:

// TODO Auto-generated method stub
var strXml:XML = <test>
<test_id>{txtMarketId.text}</test_id>
<market_name>{txtMarketName.text}</market_name>
</test>;

req = new URLRequest("http://localhost:3000/tests/"+market_id);
jrwloader  = new URLLoader();
params = new URLVariables();
req.data = strXml.toString();                               
req.method = URLRequestMethod.POST;                                                         
req.requestHeaders.push(new URLRequestHeader("X-HTTP-Method-Override", URLRequestMethod.PUT));                                                          
jrwloader.load(req);
req = new URLRequest("http://localhost:3000/tests/"+market_id);
jrwloader  = new URLLoader();
params = new URLVariables();
req.data = strXml.toString();                               
req.method = URLRequestMethod.POST;                                                         
req.requestHeaders.push(new URLRequestHeader("X-HTTP-Method-Override", URLRequestMethod.PUT));                                                          
**req.requestHeaders.push(new URLRequestHeader("Content-type", 'application/xml'));**         jrwloader.load(req);

谢谢大家

我正在阅读此链接中的信息,但我没有在代码中找到用法。有什么想法吗?你可以在响应体的头部找到正确的CSRF标记
我认为CSRF对记录的更新没有影响。我更改了它,只是警告消失了,但数据库上没有任何更改。