Je reçois une erreur lorsque j'essaie d'accéder aux utilisateurs # afficher la page via une route nommée (http: // localhost: 3000/profile /) ... sinon je n'ai pas d'erreur quand j'essaye d'y accéder avec l'URL standard (http: // localhost: 3000/users/current). Si je rattrape les routes, les routes semblent correctes et comme cela fonctionne avec l'url standard, je n'ai vraiment aucune idée de la raison pour laquelle je reçois l'erreur No roads matches. Pourquoi essayer de trouver une route correspondant à une action «détruire» alors que je n'essaie même pas d'y accéder?Aucune route ne correspond {: action => "destroy",: controller => "users"}
Starcast::Application.routes.draw do
match "login" => 'user_sessions#new', :as => :login
match "logout" => 'user_sessions#destroy', :as => :logout
resources :user_sessions
match "profile" => 'users#show'
resources :users
resources :casters
resources :casts
resources :orders
root :to => "home#index"
end
erreur que je reçois:
ActionView::Template::Error (No route matches {:action=>"edit", :controller=>"users"}):
1: <% title "Welcome #{@user.username}" %>
2:
3: <%= link_to "Edit your profil", edit_user_path %>
4:
5: <% has_role? :caster do %>
6: <% if @user.caster %>
app/views/users/show.html.erb:3:in `_app_views_users_show_html_erb___2116234531537545622_2170017780__3613739707062673465'
Editer/afficher/détruire les chemins nécessitent un paramètre id ... ie edit_user_path (current_user.id) ... Si vous ne voulez pas le faire de cette façon, vous devrez faire en sorte que vos routes utilisent resource: user (au lieu de ressources: utilisateur) ce qui causera beaucoup de maux de tête plus tard sur la route si vous ne le faites pas correctement. – jenjenut233
Tks pourriez-vous l'écrire comme une réponse, donc je peux le confirmer, tks beaucoup! – plehoux