diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2005-07-24 16:45:39 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2005-07-24 16:45:39 +0000 |
commit | 4f40b2d8fbcfb437a628a353eb281553fc840728 (patch) | |
tree | 67e6d5c4ccf2eabe7644e830122f721f747f60fa /actionpack/lib/action_view/base.rb | |
parent | 3ccea931fac2872ffb26014592c036b5d137655f (diff) | |
download | rails-4f40b2d8fbcfb437a628a353eb281553fc840728.tar.gz rails-4f40b2d8fbcfb437a628a353eb281553fc840728.tar.bz2 rails-4f40b2d8fbcfb437a628a353eb281553fc840728.zip |
Improved performance of test app req/sec with ~10% refactoring the render method #1823 [Stefan Kaes]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1915 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_view/base.rb')
-rw-r--r-- | actionpack/lib/action_view/base.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/actionpack/lib/action_view/base.rb b/actionpack/lib/action_view/base.rb index 304d6bf1ed..7fc0c3b020 100644 --- a/actionpack/lib/action_view/base.rb +++ b/actionpack/lib/action_view/base.rb @@ -158,6 +158,7 @@ module ActionView #:nodoc: def initialize(base_path = nil, assigns_for_first_render = {}, controller = nil)#:nodoc: @base_path, @assigns = base_path, assigns_for_first_render + @assigns_added = nil @controller = controller @logger = controller && controller.logger end @@ -280,7 +281,10 @@ module ActionView #:nodoc: end def evaluate_assigns(local_assigns = {}) - @assigns.each { |key, value| instance_variable_set("@#{key}", value) } + unless @assigns_added + @assigns.each { |key, value| instance_variable_set("@#{key}", value) } + @assigns_added = true + end saved_locals = {} local_assigns.each do |key, value| |