On this page
module ActionController::MimeResponds::ClassMethods
Public Instance Methods
Clear all mime types in respond_to
.
# File actionpack/lib/action_controller/metal/mime_responds.rb, line 55
def clear_respond_to
self.mimes_for_respond_to = Hash.new.freeze
end
Defines mime types that are rendered by default when invoking respond_with
.
respond_to :html, :xml, :json
Specifies that all actions in the controller respond to requests for :html
, :xml
and :json
.
To specify on per-action basis, use :only
and :except
with an array of actions or a single action:
respond_to :html
respond_to :xml, :json, except: [ :edit ]
This specifies that all actions respond to :html
and all actions except :edit
respond to :xml
and :json
.
respond_to :json, only: :create
This specifies that the :create
action and no other responds to :json
.
# File actionpack/lib/action_controller/metal/mime_responds.rb, line 37
def respond_to(*mimes)
options = mimes.extract_options!
only_actions = Array(options.delete(:only)).map(&:to_s)
except_actions = Array(options.delete(:except)).map(&:to_s)
new = mimes_for_respond_to.dup
mimes.each do |mime|
mime = mime.to_sym
new[mime] = {}
new[mime][:only] = only_actions unless only_actions.empty?
new[mime][:except] = except_actions unless except_actions.empty?
end
self.mimes_for_respond_to = new.freeze
end
© 2004–2016 David Heinemeier Hansson
Licensed under the MIT License.