Skip to content

Commit

Permalink
Fixed a bug with handling render options
Browse files Browse the repository at this point in the history
  • Loading branch information
Yehuda Katz + Carl Lerche committed May 11, 2009
1 parent 6694bd4 commit 0f6e764
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 66 deletions.
9 changes: 9 additions & 0 deletions actionpack/lib/action_controller/new_base/compatibility.rb
Expand Up @@ -23,6 +23,15 @@ module Rails2Compatibility

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)
Expand Down
4 changes: 2 additions & 2 deletions actionpack/lib/action_controller/new_base/renderer.rb
Expand Up @@ -23,8 +23,8 @@ def render_to_body(options)
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

Expand Down
65 changes: 1 addition & 64 deletions actionpack/test/abstract_unit2.rb
Expand Up @@ -74,71 +74,8 @@ def initialize(message = nil)
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
Expand Down

0 comments on commit 0f6e764

Please sign in to comment.