Takes an action name and returns the name of the method that will handle the action. In normal cases, this method returns the same name as it receives. By default, if #method_for_action receives a name that is not an action, it will look for an #action_missing method and return “_handle_action_missing” if one is found.
Subclasses may override this method to add additional conditions that should be considered an action. For instance, an HTTP controller with a template matching the action name is considered to exist.
If you override this method to handle additional cases, you may also provide a method (like _handle_method_missing) to handle the case.
action_name - An action name to find a method name for
string - The name of the method that handles the action
nil - No method name could be found. Raise ActionNotFound.
# File actionpack/lib/abstract_controller/base.rb, line 229 def method_for_action(action_name) if action_method?(action_name) action_name elsif respond_to?(:action_missing, true) "_handle_action_missing" end end