mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Fixed a bug with handling render options
This commit is contained in:
parent
6694bd46f5
commit
0f6e764e40
3 changed files with 12 additions and 66 deletions
|
@ -23,6 +23,15 @@ module ActionController
|
|||
|
||||
cattr_accessor :default_charset
|
||||
self.send(:class_variable_set, "@@default_charset", "utf-8")
|
||||
|
||||
cattr_reader :protected_instance_variables
|
||||
self.send(:class_variable_set, "@@protected_instance_variables", %w(@assigns @performed_redirect @performed_render @variables_added @request_origin @url @parent_controller
|
||||
@action_name @before_filter_chain_aborted @action_cache_path @_headers @_params
|
||||
@_flash @_response))
|
||||
end
|
||||
|
||||
module ClassMethods
|
||||
def protect_from_forgery() end
|
||||
end
|
||||
|
||||
def render_to_body(options)
|
||||
|
|
|
@ -23,8 +23,8 @@ module ActionController
|
|||
options[:_template] = template
|
||||
elsif options.key?(:template)
|
||||
options[:_template_name] = options[:template]
|
||||
elsif options.key?(:action)
|
||||
options[:_template_name] = options[:action].to_s
|
||||
else
|
||||
options[:_template_name] = (options[:action] || action_name).to_s
|
||||
options[:_prefix] = _prefix
|
||||
end
|
||||
|
||||
|
|
|
@ -74,71 +74,8 @@ module ActionController
|
|||
class UnknownHttpMethod < ActionControllerError #:nodoc:
|
||||
end
|
||||
|
||||
class Base < Http
|
||||
abstract!
|
||||
# <HAX>
|
||||
cattr_accessor :relative_url_root
|
||||
self.relative_url_root = ENV['RAILS_RELATIVE_URL_ROOT']
|
||||
|
||||
cattr_reader :protected_instance_variables
|
||||
# Controller specific instance variables which will not be accessible inside views.
|
||||
@@protected_instance_variables = %w(@assigns @performed_redirect @performed_render @variables_added @request_origin @url @parent_controller
|
||||
@action_name @before_filter_chain_aborted @action_cache_path @_headers @_params
|
||||
@_flash @_response)
|
||||
# </HAX>
|
||||
|
||||
use AbstractController::Callbacks
|
||||
use AbstractController::Helpers
|
||||
use AbstractController::Logger
|
||||
|
||||
use ActionController::HideActions
|
||||
use ActionController::UrlFor
|
||||
use ActionController::Renderer
|
||||
use ActionController::Layouts
|
||||
use ActionController::Rails2Compatibility
|
||||
class Base
|
||||
use ActionController::Testing
|
||||
|
||||
def self.protect_from_forgery() end
|
||||
|
||||
def self.inherited(klass)
|
||||
::ActionController::Base.subclasses << klass.to_s
|
||||
super
|
||||
end
|
||||
|
||||
def self.subclasses
|
||||
@subclasses ||= []
|
||||
end
|
||||
|
||||
def self.app_loaded!
|
||||
@subclasses.each do |subclass|
|
||||
subclass.constantize._write_layout_method
|
||||
end
|
||||
end
|
||||
|
||||
def render(action = action_name, options = {})
|
||||
if action.is_a?(Hash)
|
||||
options, action = action, nil
|
||||
else
|
||||
options.merge! :action => action
|
||||
end
|
||||
|
||||
super(options)
|
||||
end
|
||||
|
||||
def render_to_body(options = {})
|
||||
options = {:template => options} if options.is_a?(String)
|
||||
super
|
||||
end
|
||||
|
||||
def process_action
|
||||
ret = super
|
||||
render if response_body.nil?
|
||||
ret
|
||||
end
|
||||
|
||||
def respond_to_action?(action_name)
|
||||
super || view_paths.find_by_parts?(action_name.to_s, {:formats => formats, :locales => [I18n.locale]}, controller_path)
|
||||
end
|
||||
end
|
||||
|
||||
Base.view_paths = FIXTURE_LOAD_PATH
|
||||
|
|
Loading…
Reference in a new issue