ruby-on-rails – 从ActiveResource请求中删除.xml扩展名
发布时间:2020-12-16 20:08:39 所属栏目:百科 来源:网络整理
导读:我试图使用ActiveResource从第三方API中消耗xml数据.我可以使用RESTClient应用程序来成功验证和发出请求.我编码我的应用程序,当我提出请求时,我收到404错误.我补充说: ActiveResource::Base.logger = Logger.new(STDERR) 到我的development.rb文件,弄清楚了
我试图使用ActiveResource从第三方API中消耗xml数据.我可以使用RESTClient应用程序来成功验证和发出请求.我编码我的应用程序,当我提出请求时,我收到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生成的请求中剥离扩展? 谢谢 解决方法
您可能需要覆盖模型中的
element_path方法.
根据API,目前的定义如下: def element_path(id,prefix_options = {},query_options = nil) prefix_options,query_options = split_options(prefix_options) if query_options.nil? "#{prefix(prefix_options)}#{collection_name}/#{id}.#{format.extension}#{query_string(query_options)}" end 删除.#{format.extension}部分可能会做你所需要的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |