Answers.Body: <p>You may need to install your Plugin through the control panel. To do this go to 'Settings>Plugins' and if you've set it up correctly then you should see your Plugin name in the list. </p>
  
  <p>Simply click "Install" and then your plugins file will be accessible from your templates.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-05-21T09:29:37.323Z
Answers.LastActivityDate: 2016-05-21T09:29:37.323Z
Answers.UserDisplayName: Luke Pearce
Answers.Body: <p>I had the plugin set up correctly but I didn't go into the administration menu and install the plugin via the GUI.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-05-21T00:59:53.153Z
Answers.Text: It happens to the best of us :)
Answers.UserDisplayName: Patrick Harrington
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-05-20T23:24:40.493Z
Answers.LastActivityDate: 2016-05-20T23:24:40.493Z
Answers.UserDisplayName: danieltalsky
Body: <p>I'm writing my first Craft CMS plugin.</p>
  
  <p>I have the following tag in my form:</p>
  
  <pre><code>&lt;input type="hidden" name="action" value="clientnameDonation/donateForm/donate"&gt;
  </code></pre>
  
  <p>And then I have the following controller code to handle the action:</p>
  
  <pre><code>namespace Craft;
  
  class ClientnameDonation_DonateFormController extends BaseController
  {
      protected $allowAnonymous = array('actionDonate',
          );
  
      public function actionDonate()
      {
          // stuff
      }
  }
  </code></pre>
  
  <p>When I try to submit the form, I get the following error:</p>
  
  <blockquote>
    <p>Unable to resolve the request "clientnameDonation/donateForm/donate"</p>
  </blockquote>
  
  <p>Is there a piece I'm missing, or is there a casing error somewhere?</p>
  
  <p>I also tried just using a raw action URL like this:</p>
  
  <blockquote>
    <p><a href="http://URL/index.php?p=actions/clientnameDonation/donateForm/donate" rel="nofollow">http://URL/index.php?p=actions/clientnameDonation/donateForm/donate</a></p>
  </blockquote>
  
  <p>I get the same routing error.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-05-20T17:22:02.327Z
Comments.Text: Can you try the URL minus the index.php?p=. That gets me depending on my local environment every now and then. Also, make sure the plugin is installed.
Comments.UserDisplayName: Jason McCallister
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-05-20T17:28:23.410Z
Comments.Text: This may sound insulting but have you installed the plugin?
Comments.UserDisplayName: Luke Pearce
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-05-20T17:36:35.747Z
Comments.Text: also, what is the file name of the controller?
Comments.UserDisplayName: Luke Pearce
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-05-20T18:12:13.057Z
Comments.Text: Believe me it's not insulting at all.  I don't know how to "install" a plugin other than adding the folder with the correct plugin infrastructure to the plugins folder.  Do I need to create a github repo of the plugin and actually install it that way?  The file path of the controller is: `craft/plugins/clientnamedonation/controllers/ClientnameDonation_DonateFormController.php`
Comments.UserDisplayName: danieltalsky
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-05-20T18:14:08.037Z
Comments.Text: You need to go into the control panel then 'Settings>Plugins'. If you've set it up correctly then you should see your plugin name in the list. Simply click "Install" and then your plugins file will be accessible from your templates.
Comments.UserDisplayName: Luke Pearce
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-05-20T18:23:53.750Z
Comments.Text: Additionally I'd make sure you use something like https://pluginfactory.io/ to generate the boilerplate plugin code for you.  Reduces the chance of running into this like case sensitivity issues on case sensitive operating systems.
Comments.UserDisplayName: Brad Bell
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-05-20T18:41:52.913Z
Comments.Text: Ok, I DID use pluginfactory.io to generate the boilerplate.  I didn't realize I needed to activate the plugin in the UI.  When I go to Settings>Plugins I do NOT see my plugin listed there.  Also, I did try clearing the cache.
Comments.UserDisplayName: danieltalsky
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-05-20T20:29:53.717Z
Comments.Text: Are there any other troubleshooting steps I can take?
Comments.UserDisplayName: danieltalsky
Tags: <plugins><routing><controller>
Title: How do I wire my form action to my controller action?
ThreadText: # How do I wire my form action to my controller action?
  
  (Asked by: username_0 on 2016-05-20)
  
  I'm writing my first Craft CMS plugin.
  
  I have the following tag in my form:
  
  ```
  <input type="hidden" name="action" value="clientnameDonation/donateForm/donate">
  
  ```
  
  And then I have the following controller code to handle the action:
  
  ```
  namespace Craft;
  
  class ClientnameDonation_DonateFormController extends BaseController
  {
      protected $allowAnonymous = array('actionDonate',
          );
  
      public function actionDonate()
      {
          // stuff
      }
  }
  
  ```
  
  When I try to submit the form, I get the following error:
  
  > Unable to resolve the request "clientnameDonation/donateForm/donate"
  
  Is there a piece I'm missing, or is there a casing error somewhere?
  
  I also tried just using a raw action URL like this:
  
  > <http://URL/index.php?p=actions/clientnameDonation/donateForm/donate>
  
  I get the same routing error.
  
  **Tags:** plugins, routing, controller
  
  > **Comments:**
  > **username_1**: Can you try the URL minus the index.php?p=. That gets me depending on my local environment every now and then. Also, make sure the plugin is installed.  
  > **username_2**: This may sound insulting but have you installed the plugin?  
  > **username_2**: also, what is the file name of the controller?  
  > **username_0**: Believe me it's not insulting at all.  I don't know how to "install" a plugin other than adding the folder with the correct plugin infrastructure to the plugins folder.  Do I need to create a github repo of the plugin and actually install it that way?  The file path of the controller is: `craft/plugins/clientnamedonation/controllers/ClientnameDonation_DonateFormController.php`  
  > **username_2**: You need to go into the control panel then 'Settings>Plugins'. If you've set it up correctly then you should see your plugin name in the list. Simply click "Install" and then your plugins file will be accessible from your templates.  
  > **username_3**: Additionally I'd make sure you use something like https://pluginfactory.io/ to generate the boilerplate plugin code for you.  Reduces the chance of running into this like case sensitivity issues on case sensitive operating systems.  
  > **username_0**: Ok, I DID use pluginfactory.io to generate the boilerplate.  I didn't realize I needed to activate the plugin in the UI.  When I go to Settings>Plugins I do NOT see my plugin listed there.  Also, I did try clearing the cache.  
  > **username_0**: Are there any other troubleshooting steps I can take?  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_2 on 2016-05-21. Score: 1 | Accepted answer
  
  You may need to install your Plugin through the control panel. To do this go to 'Settings>Plugins' and if you've set it up correctly then you should see your Plugin name in the list.
  
  Simply click "Install" and then your plugins file will be accessible from your templates.
  
  
  ---
  
  ### Answer by username_0 on 2016-05-20. Score: 2
  
  I had the plugin set up correctly but I didn't go into the administration menu and install the plugin via the GUI.
  
  > **Comments:**
  > **username_4**: It happens to the best of us :)  
  
  ---
  
  