Module: ActionController::MimeResponds::ClassMethods
- Defined in:
- lib/action_controller/metal/mime_responds.rb
Instance Method Summary collapse
-
#clear_respond_to ⇒ Object
Clear all mime types in
respond_to
. -
#respond_to(*mimes) ⇒ Object
Defines mime types that are rendered by default when invoking
respond_with
.
Instance Method Details
#clear_respond_to ⇒ Object
Clear all mime types in respond_to
.
57 58 59 |
# File 'lib/action_controller/metal/mime_responds.rb', line 57 def clear_respond_to self.mimes_for_respond_to = ActiveSupport::OrderedHash.new.freeze end |
#respond_to(*mimes) ⇒ Object
Defines mime types that are rendered by default when invoking respond_with
.
Examples:
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 :rjs, :only => :create
This specifies that the :create
action and no other responds to :rjs
.
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/action_controller/metal/mime_responds.rb', line 39 def respond_to(*mimes) = mimes. only_actions = Array(.delete(:only)) except_actions = Array(.delete(:except)) 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 |