diff options
author | Prem Sichanugrist <s@sikac.hu> | 2014-02-14 15:50:08 -0500 |
---|---|---|
committer | Prem Sichanugrist <s@sikac.hu> | 2014-02-18 12:11:41 -0500 |
commit | 3047376870d4a7adc7ff15c3cb4852e073c8f1da (patch) | |
tree | acc61fe46d2367aae107de08efe04a39beec1f12 /actionpack/lib/action_controller | |
parent | 9fe506e3944652c3681ca27d1c2a3a559f605359 (diff) | |
download | rails-3047376870d4a7adc7ff15c3cb4852e073c8f1da.tar.gz rails-3047376870d4a7adc7ff15c3cb4852e073c8f1da.tar.bz2 rails-3047376870d4a7adc7ff15c3cb4852e073c8f1da.zip |
Add `#no_content_type` attribute to `AD::Response`
Setting this attribute to `true` will remove the content type header
from the request. This is use in `render :body` feature.
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r-- | actionpack/lib/action_controller/metal/rack_delegation.rb | 4 | ||||
-rw-r--r-- | actionpack/lib/action_controller/metal/rendering.rb | 10 |
2 files changed, 6 insertions, 8 deletions
diff --git a/actionpack/lib/action_controller/metal/rack_delegation.rb b/actionpack/lib/action_controller/metal/rack_delegation.rb index bdf6e88699..e1bee9e60c 100644 --- a/actionpack/lib/action_controller/metal/rack_delegation.rb +++ b/actionpack/lib/action_controller/metal/rack_delegation.rb @@ -5,8 +5,8 @@ module ActionController module RackDelegation extend ActiveSupport::Concern - delegate :headers, :status=, :location=, :content_type=, - :status, :location, :content_type, :to => "@_response" + delegate :headers, :status=, :location=, :content_type=, :no_content_type=, + :status, :location, :content_type, :no_content_type, :to => "@_response" def dispatch(action, request) set_response!(request) diff --git a/actionpack/lib/action_controller/metal/rendering.rb b/actionpack/lib/action_controller/metal/rendering.rb index ce37eaefd8..3c4ef596c7 100644 --- a/actionpack/lib/action_controller/metal/rendering.rb +++ b/actionpack/lib/action_controller/metal/rendering.rb @@ -44,15 +44,13 @@ module ActionController def _process_format(format, options = {}) super - self.content_type ||= format.to_s - if options[:body].present? - self.content_type = "none" + if options[:body] self.headers.delete "Content-Type" - end - - if options[:plain].present? + elsif options[:plain] self.content_type = Mime::TEXT + else + self.content_type ||= format.to_s end end |