form_for troubles at [6959]

Just moved from 1.2 stable branch to 6959 to start using all of the
new resource changes. After a basic generate scaffold im getting a
RoutingError error on /merchants/1/edit:

ActionController::RoutingError: merchant_url failed to generate from
{:action=>"show", :controller=>"merchants", :id=>[]}, expected:
{:action=>"show", :controller=>"merchants"}, diff: {:id=>[]}

on this line: <% form_for(@merchant) do |f| %>

if I extrapolate it to the full form it works fine: <% form_for
:merchant, @merchant, :url => merchant_path(@merchant), :html => {
:method => :put, :class => "edit_merchant", :id =>
"edit_merchant_#{@merchant.id}" } do |f| %>

Looks like its because apply_form_for_options! in form_for explicitly
passes object as an array. I found a patch here (looks like someone
else noticed it too):

http://dev.rubyonrails.org/attachment/ticket/6432/form_helper_fix_redux.patch

Although Im not sure thats the correct place to correct it. I was
thinking either here (since its already using object and not
object_or_array in the rest of the method):

+++ vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb
(working copy)
@@ -193,7 +193,7 @@

         options[:html] ||= {}
         options[:html].reverse_merge!(html_options)
- options[:url] ||= polymorphic_path(object_or_array)
+ options[:url] ||= polymorphic_path(object)
       end

Or, take it a step further and correct it in polymorhic_url. Im just
not sure which one is correct and am just now digging into this code,
so I'll leave it open to whoever knows what the proper fix would be.
For the time being I'll just use my fix locally and keep an eye on the
ticket.

Joe