我是靠谱客的博主 冷傲荷花,最近开发中收集的这篇文章主要介绍Ruby on Rails中的ActiveResource使用详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

当 HTTP 响应是一个与存在的格式不同的格式时(XML 和 JSON),需要某些额外的格式解析,创一个你惯用的格式,并在类别中使用它。惯用的格式应当实作下列方法:extension, mime_type,
    encode 以及 decode。

    

module ActiveResource
   module Formats
    module Extend
     module CSVFormat
      extend self

      def extension
       'csv'
      end

      def mime_type
       'text/csv'
      end

      def encode(hash, options = nil)
       # 数据以新格式编码并返回
      end

      def decode(csv)
       # 数据以新格式解码并返回
      end
     end
    end
   end
  end

  class User < ActiveResource::Base
   self.format = ActiveResource::Formats::Extend::CSVFormat

   ...
  end

    若 HTTP 请求应当不扩展发送时,覆写 ActiveResource::Base 的 element_path 及 collection_path 方法,并移除扩展的部分。

  class User < ActiveResource::Base
   ...

   def self.collection_path(prefix_options = {}, query_options = nil)
    prefix_options, query_options = split_options(prefix_options) if query_options.nil?
    "#{prefix(prefix_options)}#{collection_name}#{query_string(query_options)}"
   end

   def self.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}/#{URI.parser.escape id.to_s}#{query_string(query_options)}"
   end
  end

    如有任何改动网址的需求时,这些方法也可以被覆写。

最后

以上就是冷傲荷花为你收集整理的Ruby on Rails中的ActiveResource使用详解的全部内容,希望文章能够帮你解决Ruby on Rails中的ActiveResource使用详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(110)

评论列表共有 0 条评论

立即
投稿
返回
顶部