将 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
我正在从 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