将 Rails 3.2 升级到 4.2.6,路由为资源生成错误的路径名

Upgrading Rails 3.2 to 4.2.6, routes generates wrong pathnames for resources

我正在从 Rails 3.2 升级到 4.2.6,出于某种原因,一个模型突然 rails 生成的资源路径名全错了。所有其他模型的资源工作正常。

routes.rb(注释掉所有其他路由以隔离故障模型)

Rails.application.routes.draw do
  resources :signups
end

rails 3.2 rake 路由输出(它应该是什么样子)

signups     GET     /signups(.:format)          signups#index
            POST    /signups(.:format)          signups#create
new_signup  GET     /signups/new(.:format)      signups#new
edit_signup GET     /signups/:id/edit(.:format) signups#edit
signup      GET     /signups/:id(.:format)      signups#show
            PUT     /signups/:id(.:format)      signups#update
            DELETE  /signups/:id(.:format)      signups#destroy

rails 4.2.6 rake路由输出

signups_index GET    /signups(.:format)          signups#index
              POST   /signups(.:format)          signups#create
  new_signups GET    /signups/new(.:format)      signups#new
 edit_signups GET    /signups/:id/edit(.:format) signups#edit
      signups GET    /signups/:id(.:format)      signups#show
              PATCH  /signups/:id(.:format)      signups#update
              PUT    /signups/:id(.:format)      signups#update
              DELETE /signups/:id(.:format)      signups#destroy

知道是什么原因导致这个模型的路径名称发生更改吗?

inflect.irregular('signup', 'signups') 添加到 config/initializers/inflections.rb