Dies kann passieren, wenn Sie users_controller erstellen und vorsichtig sein müssen.
Keine Kollision
route.rb
Rails.application.routes.draw do
resources :profiles
devise_for :users, controllers: { sessions: 'users/sessions'}
resources :users
root to: "home#home"
end
new_user_session GET /users/sign_in(.:format) users/sessions#new
user_session POST /users/sign_in(.:format) users/sessions#create
destroy_user_session DELETE /users/sign_out(.:format) users/sessions#destroy
edit_user GET /users/:id/edit(.:format) users#edit
user GET /users/:id(.:format) users#show
PATCH /users/:id(.:format) users#update
PUT /users/:id(.:format) users#update
DELETE /users/:id(.:format) users#destroy
Kollision tritt auf
route.rb
Rails.application.routes.draw do
resources :profiles
resources :users
devise_for :users, controllers: { sessions: 'users/sessions'}
root to: "home#home"
end
edit_user GET /users/:id/edit(.:format) users#edit
user GET /users/:id(.:format) users#show
PATCH /users/:id(.:format) users#update
PUT /users/:id(.:format) users#update
DELETE /users/:id(.:format) users#destroy
new_user_session GET /users/sign_in(.:format) users/sessions#new
user_session POST /users/sign_in(.:format) users/sessions#create
destroy_user_session DELETE /users/sign_out(.:format) users/sessions#destroy
users /: id
enthält users / sign_in
und wird beim Übergang zu users / sign_in als users / id erkannt und bezieht sich auf users_controller
.
Da das Routing in der Reihenfolge von oben referenziert wird, kann dies verhindert werden, wenn users / sign_in über users /: id beschrieben wird.
Recommended Posts