Tag: xml

to_xml include在rails 3.0.6 ruby​​ 1.9.2中不起作用

我已将我的服务器更新为ruby 1.9.2,这已停止工作(rails 3.0.6): def index @musicians = Musician.includes(:instruments) render :xml => @musicians.to_xml( :include => :instruments ) end 和模型: class Musician < ActiveRecord::Base has_and_belongs_to_many :instruments end class Instrument < ActiveRecord::Base has_and_belongs_to_many :musicians end 我收到这个错误: undefined method `type’ for nil:NilClass 框架跟踪: activesupport (3.0.6) lib/active_support/whiny_nil.rb:48:in `method_missing’ activerecord (3.0.6) lib/active_record/serializers/xml_serializer.rb:230:in `compute_type’ activemodel (3.0.6) lib/active_model/serializers/xml.rb:22:in `initialize’ activemodel (3.0.6) lib/active_model/serializers/xml.rb:75:in `new’ […]

rails使用builder生成xml

我想在我的网站上使用hipay。 所以我需要在动作中生成一个xml然后通过post发送到hipay网站。 我的问题是: 我怎么能用dinamically创建一个xml然后,在同一个动作中,通过post发送这个xml? 我的控制器中的示例 def action_generate_xml @xml = Builder::XmlMarkup.new() # I want generate my xml here # # # End generate xml #Now i want send My XML via post #CODE FOR SEND VIA POST end 提前致谢

没有漂亮打印的Rails XML构建器(即缩小的XML)

我正在使用Builder :: XmlMarkup为RESTful API服务器生成XML格式的数据结构。 最近,我发现了一个错误,其中来自Builder :: XmlMarkup的漂亮打印产生了一个充满空白文本的元素,而不是应该是空元素。 例如,这段代码: xml.outertag do xml.list do # Some code which loops through a list end end 正在生产: 当内部列表是空列表时,该元素必须为空 – 即或 。 但是实际的XML是一个标签,其中填充了换行符和其他空格。 那么,如何完全消除Builder漂亮的印刷呢? 目前,我正在考虑使用猴子修补Builder :: XmlMarkup,以便初始化忽略:indent参数; 虽然我也在考虑使用after_filter。

如何在rails上的ruby中呈现.builder模板?

我真的很困惑如何在rails上的ruby中使用构建器模板。 我有一些简单的控制器代码: class ProductsController < ApplicationController def index @products = Product.all respond_to do |format| format.html # index.html.erb format.xml # index.builder end end end 但这似乎不起作用。 我的index.builder文件如下所示: xm = Builder::XmlMarkup.new(:target=>$stdout, :indent=>2) xm.instruct! xm.index{ @index.each do |i| xm.country(i.country.name) xm.value(i.value) xm.year(i.year) end } 但我一直得到一个空白的回应。 看起来我不是在理解一些基本的东西。

通过JSON / XML将二进制数据发送到(Rails)RESTful端点?

我目前正在组建一个基于rails的Web应用程序,它只能通过json和xml提供和接收数据。 但是,某些要求包含上载二进制数据(图像)的function。 现在我的理解JSON并不完全是为了那个……但是你如何解决在你的应用程序的两个入口点上接收二进制文件/数据的问题?

Rails XML解析

任何人都可以告诉我如何解决这个问题。 messageType SMS id xxxxxxxxxxxxxx source xxxxxxxxxxx target xxxxxxxxxxxxx msg xxxxxxxxxxxxx udh 我无法控制这个xml,但我希望在保存到我的数据库之前我可以使参数看起来像这样 message”=>{“msg”=>”sampler”, “id”=>”1”, “target”=>”23123”, “source”=>”312321312”} 这是我访问我的方法时收到的参数 message”=>{“param”=>[{“name”=>”id”, “value”=>”2373084120100804002252”}, {“name”=>”messageType”, “value”=>”SMS”}, {“name”=>”target”, “value”=>”23730841”}, {“name”=>”source”, “value”=>”09156490046”}, {“name”=>”msg”, “value”=>”Hello world via iPhone”}, {“name”=>”udh”, “value”=>nil}]}

如何按属性值搜索

我有以下XML文档: foo1 foo2 data1 data2 foo3 foo4 我只需要抓取type = “foo:elementType1″的元素。 我尝试过这个,但是我得到了空洞的结果。 elems = doc.search(“//elements[@type=’foo:elementType1′]”) 我错过了什么?

to_xml不适用于通过Rails返回的对象ActiveRecord habtm参考

我有两个rails活动记录类,School和Instructor通过has_and_belongs_to_many关系链接。 我需要查询我的instructors_controller以获取特定学校的教师并返回xml格式的响应。 因此,在索引方法中我有这个代码片段: school = School.find(params[:school_id]) @instructors = school.instructors 然后: respond_to do |format| format.html # index.html.erb format.xml { render :xml => @instructors } format.json { render :json => @instructors } end 但它不起作用。 看看这个有趣但令人困惑的序列: ruby-1.9.2-p180 :023 > Instructor.all.first => # ruby-1.9.2-p180 :026 > Instructor.all.first.class => Instructor(id: integer, name: string, instructor_type_id: integer, created_at: datetime, updated_at: datetime) ruby-1.9.2-p180 […]

从ActiveResource请求中删除.xml扩展名

我正在尝试使用ActiveResource来使用来自第三方API的xml数据。 我可以使用RESTClient应用程序成功进行身份validation和发出请求。 我编写了我的应用程序,当我提出请求时,我收到404错误。 我补充说: ActiveResource::Base.logger = Logger.new(STDERR) 到我的development.rb文件并找出问题所在。 API使用xml数据响应不以xml结尾的请求。 EG,这适用于RESTClient: https://api.example.com/contacts 但ActiveResource正在发送此请求 https://api.example.com/contacts.xml 无论如何,从ActiveResource生成的请求中删除扩展名是否“很好”? 谢谢

request.format return * / *

我目前正在为RoR上的应用程序开发API 作为一个例子,我创建了一些XML,加载了创建对象所需的所有信息,让我们说一个Person,并使用Curl我将它提交给我的应用程序 我能够从控制器中调用我想要的创建操作,并正确传递对象的哈希参数 但是现在我需要应用不同的行为,如果请求是否与XML有关,困扰我的是为什么在控制器request.format给出*/* 。 有什么线索吗? curl -v -H “Content-Type: application/xml; charset=utf-8” –data-ascii @client.xml http://foo.com:3000/clients?api_key=xxx def create logger.debug request.format # produces “*/*” if request.format.xml? # never gets here end end