Recibo un error cuando intento acceder a los usuarios # mostrar página a través de una ruta con nombre (http: // localhost: 3000/profile /) ... de lo contrario no tengo ningún error cuando intento acceder a él con la url estándar (http: // localhost: 3000/users/current). Si rastrear rutas I rutas parece correcto y ya que funciona con url estándar, realmente no tengo idea de por qué me sale el error No coincide con la ruta. ¿Cuándo intentar encontrar la coincidencia de ruta para la acción 'destruir' cuando ni siquiera estoy intentando acceder a ella?No coincide la ruta {: acción => "destruir",: controlador => "usuarios"}
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
error que consigo:
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'
Editar/mostrar/destruir rutas requiere un parámetro de id ... es decir, edit_user_path (current_user.id) ... Si no quieres hacerlo de esa manera, necesitarás hacer que tus rutas usen resource: user (en lugar de recursos: usuario) que causará muchos dolores de cabeza más adelante en el futuro si no lo haces bien. – jenjenut233
Tks podría escribirlo como una respuesta, así que puedo confirmarlo, ¡mucho! – plehoux