aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorNicholas Seckar <nseckar@gmail.com>2006-08-13 04:15:22 +0000
committerNicholas Seckar <nseckar@gmail.com>2006-08-13 04:15:22 +0000
commit84bacf99d67617421edfbbd787c845afb34a9d06 (patch)
treeb238052e5e0a526204e787f8b06ef8ae8d32e3d9 /actionpack/lib
parent440655e1fae5ec5d22676a65462808fa11c2464e (diff)
downloadrails-84bacf99d67617421edfbbd787c845afb34a9d06.tar.gz
rails-84bacf99d67617421edfbbd787c845afb34a9d06.tar.bz2
rails-84bacf99d67617421edfbbd787c845afb34a9d06.zip
Invoke method_missing directly for hidden actions. Closes #3030.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4755 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib')
-rwxr-xr-xactionpack/lib/action_controller/base.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb
index 8c03f86609..2c91266f6f 100755
--- a/actionpack/lib/action_controller/base.rb
+++ b/actionpack/lib/action_controller/base.rb
@@ -974,11 +974,14 @@ module ActionController #:nodoc:
logger.info " Parameters: #{respond_to?(:filter_parameters) ? filter_parameters(params).inspect : params.inspect}"
end
end
-
+
def perform_action
- if self.class.action_methods.include?(action_name) || self.class.action_methods.include?('method_missing')
+ if self.class.action_methods.include?(action_name)
send(action_name)
render unless performed?
+ elsif respond_to? :method_missing
+ send(:method_missing, action_name)
+ render unless performed?
elsif template_exists? && template_public?
render
else