Reputation: 1377
I'm getting a strange error when renaming the resourcce "like" to "love"
In routes.rb I've changed:
resources :likes
resources :recipes do
member do
get :likes
end
end
to
resources :loves
resources :recipes do
member do
get :loves
end
end
and rake:routes says
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
and ofcourse i get an error
uninitialized constant User::Lofe
but where comes the prefix "Lofe"? looks a bit strange for me
Upvotes: 2
Views: 255
Reputation: 116
This is due to the active support pluralization features in rails.
To solve your issue:
in config/initializers/inflections.rb
add the following:
ActiveSupport::Inflector.inflections do |inflect|
inflect.uncountable %w(Loves)
end
After running $ rake:routes
I get:
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
Upvotes: 2