module ActionController::RespondWith::ClassMethods

def clear_respond_to


Clear all mime types in respond_to.
def clear_respond_to
  self.mimes_for_respond_to = Hash.new.freeze
end

def respond_to(*mimes)

to :json.
This specifies that the :create action and no other responds

respond_to :json, only: :create

:json.
and all actions except :edit respond to :xml and
This specifies that all actions respond to :html

respond_to :xml, :json, except: [ :edit ]
respond_to :html

:except with an array of actions or a single action:
To specify on per-action basis, use :only and

for :html, :xml and :json.
Specifies that all actions in the controller respond to requests

respond_to :html, :xml, :json

respond_with.
Defines mime types that are rendered by default when invoking
def respond_to(*mimes)
  options = mimes.extract_options!
  only_actions   = Array(options.delete(:only)).map(&:to_sym)
  except_actions = Array(options.delete(:except)).map(&:to_sym)
  hash = mimes_for_respond_to.dup
  mimes.each do |mime|
    mime = mime.to_sym
    hash[mime]          = {}
    hash[mime][:only]   = only_actions   unless only_actions.empty?
    hash[mime][:except] = except_actions unless except_actions.empty?
  end
  self.mimes_for_respond_to = hash.freeze
end