Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.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将HTTP POST存储到变量中_Ruby On Rails_Xml_Http Post - Fatal编程技术网

Ruby on rails rails将HTTP POST存储到变量中

Ruby on rails rails将HTTP POST存储到变量中,ruby-on-rails,xml,http-post,Ruby On Rails,Xml,Http Post,我正在尝试构建一个rails应用程序,以接收具有巨大XML负载的HTTP post。目标是解析XML并将部分内容存储到数据库中。我的第一个目标是能够将XML内容存储到变量中,并逐行解析变量。通过这里提供的问答,我能够使用下面的代码来接收HTTP帖子 问题是rails应用程序将XML内容直接发送回浏览器。我只希望rails应用程序接收XML,存储并返回200 ok到浏览器。我怎样才能做到 路线 post '/request' => 'application#receives_data' 控

我正在尝试构建一个rails应用程序,以接收具有巨大XML负载的HTTP post。目标是解析XML并将部分内容存储到数据库中。我的第一个目标是能够将XML内容存储到变量中,并逐行解析变量。通过这里提供的问答,我能够使用下面的代码来接收HTTP帖子

问题是rails应用程序将XML内容直接发送回浏览器。我只希望rails应用程序接收XML,存储并返回200 ok到浏览器。我怎样才能做到

路线

post '/request' => 'application#receives_data'
控制器

def receives_data
  myXMLPost = render :text => request.raw_post
end
当我尝试以下代码时

def receives_data
  myXMLPost = request.raw_post
end
我在development.log中发现这个错误

ActionView::MissingTemplate(MissingTemplate应用程序/使用{:locale=>[:en],:formats=>[:html,:text,:js,:css,:ics,:csv,:vcf,:png,:jpeg,:gif,:bmp,:tiff,:mpeg,:xml,:rss,:atom,:yaml,:多部分形式,:url\u编码形式,:json,:pdf,:zip],:variants=>[],:handlers=>[:erb,:builder,:raw,:ruby,:coffee,:jbuilder]}。在以下位置搜索:“/opt/rails/CCH/app/views”

谢谢你的阅读

 render :text => request.raw_post
这一部分说“将原始XML帖子中的文本呈现回浏览器”——因此,如果您不希望它呈现XML,那么就不要使用这一行

如果要只渲染200,则只渲染200。 你可以用一个

因此:


“创建XML”是我将留给读者(即您)的一个练习…它是rails的一个相当标准的部分,这意味着rails上的标准教程将涵盖它…我建议您在google上对涉及XML的rails教程进行一些研究,例如“

实际上,我只是试图将HTTP POST作为文本存储到变量中。根本不尝试创建XML。如果您当时所做的只是渲染成功,那么为什么要将其存储到变量中?我想您还没有完全解释您实际要做的事?我对造成的混乱表示歉意。来自原始帖子“我的第一个目标是能够将XML内容存储到变量中,并逐行解析变量“。因此,逻辑应该是将HTTP POST存储到变量中,并向browseryes返回200 OK,但将其存储到变量中并不会对其产生任何影响……那么,您实际上想对其做什么呢?感谢您提供的指针。我已检查并标记了您的答案,并阅读了您的指南。
head :success
def receives_data
  myXMLPost = request.raw_post
  head :success
end