将资源“like”重命名为“love”时出现奇怪的错误
在routes.rb中我改变了:
resources :likes
resources :recipes do
member do
get :likes
end
end
至
resources :loves
resources :recipes do
member do
get :loves
end
end
和 rake:routes 说
loves GET /loves(.:format) loves#index
POST /loves(.:format) loves#create
new_lofe GET /loves/new(.:format) loves#new
edit_lofe GET /loves/:id/edit(.:format) loves#edit
lofe GET /loves/:id(.:format) loves#show
PATCH /loves/:id(.:format) loves#update
PUT /loves/:id(.:format) loves#update
DELETE /loves/:id(.:format) loves#destroy
loves_recipe GET /recipes/:id/loves(.:format) recipes#loves
recipes GET /recipes(.:format) recipes#index
POST /recipes(.:format) recipes#create
new_recipe GET /recipes/new(.:format) recipes#new
edit_recipe GET /recipes/:id/edit(.:format) recipes#edit
recipe GET /recipes/:id(.:format) recipes#show
PATCH /recipes/:id(.:format) recipes#update
PUT /recipes/:id(.:format) recipes#update
DELETE /recipes/:id(.:format) recipes#destroy
当然我得到了一个错误
未初始化常量 User::Lofe
但是前缀“Lofe”从哪里来?对我来说看起来有点奇怪
最佳答案
这是由于 Rails 中主动支持多元化功能所致。
解决您的问题:
在config/initializers/inflections.rb
中添加以下内容:
ActiveSupport::Inflector.inflections do |inflect|
inflect.uncountable %w(Loves)
end
运行$ rake:routes
后我得到:
Prefix Verb URI Pattern Controller#Action
loves_index GET /loves(.:format) loves#index
POST /loves(.:format) loves#create
new_loves GET /loves/new(.:format) loves#new
edit_loves GET /loves/:id/edit(.:format) loves#edit
loves GET /loves/:id(.:format) loves#show
PATCH /loves/:id(.:format) loves#update
PUT /loves/:id(.:format) loves#update
DELETE /loves/:id(.:format) loves#destroy
关于ruby-on-rails - Rails 路线前缀错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31326919/