title: Rails 2.3.11 RESTful route not calling create action from form
body: <p>I have a controller called "Notes", and its associated model is Note, with a text field called "note" (I know).</p>
  
  <p>I have a very simple form in the new.html.erb view:</p>
  
  <pre><code>&lt;% form_for(@note) do |f| %&gt;
      &lt;p&gt;&lt;%= f.error_messages %&gt;&amp;nbsp;&lt;/p&gt;
      &lt;h2 class="productList"&gt;&lt;label for=""&gt;Note: &lt;/label&gt;
      &lt;%= f.text_area :note, :cols =&gt; "50", :rows =&gt; "10" %&gt;&lt;/h2&gt;
      &lt;br /&gt;
      &lt;p&gt;&lt;%= f.submit "Create" %&gt;&lt;/p&gt;
  &lt;% end %&gt;
  </code></pre>
  
  <p>However, upon clicking the "Submit" button, the action being called is from a completely different controller:</p>
  
  <pre><code>Processing OtherController#add_note (for 127.0.0.1 at 2012-07-30 09:04:42) [POST]
  </code></pre>
  
  <p>Please note that this action is not even defined in routes.rb, though the controller is set up as a resource.</p>
  
  <p>My "notes" line in routes.rb looks like this:</p>
  
  <pre><code>map.resources :notes, :collection =&gt; { :note_list =&gt; :get, :get_json_list =&gt; :get }, :member =&gt; { :applications =&gt; :get, :replace =&gt; :get }
  </code></pre>
  
  <p>And "rake routes" yields these lines for the controller:</p>
  
  <pre><code>get_json_list_notes GET    /notes/get_json_list(.:format) {:controller=&gt;"notes", :action=&gt;"get_json_list"}
  note_list_notes     GET    /notes/note_list(.:format) {:controller=&gt;"notes", :action=&gt;"note_list"}
  notes               GET    /notes(.:format)  {:controller=&gt;"notes", :action=&gt;"index"}
                      POST   /notes(.:format)  {:controller=&gt;"notes", :action=&gt;"create"}
  new_note            GET    /notes/new(.:format)  {:controller=&gt;"notes", :action=&gt;"new"}
  edit_note           GET    /notes/:id/edit(.:format) {:controller=&gt;"notes", :action=&gt;"edit"}
  replace_note        GET    /notes/:id/replace(.:format) {:controller=&gt;"notes", :action=&gt;"replace"}
  applications_note   GET    /notes/:id/applications(.:format) {:controller=&gt;"notes", :action=&gt;"applications"}
  note                GET    /notes/:id(.:format) {:controller=&gt;"notes", :action=&gt;"show"}
                      PUT    /notes/:id(.:format) {:controller=&gt;"notes", :action=&gt;"update"}
                      DELETE /notes/:id(.:format) {:controller=&gt;"notes", :action=&gt;"destroy"}
  </code></pre>
  
  <p>I don't have anything bound to the form or controls in my Javascript either. What would make it call the wrong controller and action?</p>
  
  <p>UPDATE - Here is the output of the form_for tag:</p>
  
  <pre><code>&lt;form id="new_note" class="new_note" method="post" action="/notes"&gt;
    &lt;p&gt;&amp;nbsp;&lt;/p&gt;
    &lt;h2 class="productList"&gt;
      &lt;label for=""&gt;Note: &lt;/label&gt;
      &lt;textarea id="note_text" rows="10" name="note_text" cols="50"&gt;&lt;/textarea&gt;
    &lt;/h2&gt;
    &lt;br&gt;
    &lt;p&gt;
      &lt;input id="note_submit" type="submit" value="Create" name="commit"&gt;
    &lt;/p&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>UPDATE 2 - Form is being passed "Note.new"</p>