En mi route.rb tengo lo siguiente:
resources :message_threads
Cuando llamo:
message_threads_path(1)
Yo obtengo:
/message_threads.1
¿Por qué es esto? Mis otros recursos funcionan bien. ¿No estoy pluralizando esto correctamente o algo así?
ruby-on-rails
ruby-on-rails-3
ghempton
fuente
fuente
resources :my_model
oresources :my_models
? (Necesita pluralizar en el archivo de rutas.)A veces, esto también ocurre cuando no proporciona un parámetro: as en su ruta:
delete "delete/:id" => "home#delete"
Cambiado a:
delete "delete/:id" => "home#delete", as: :delete
(ignore el ejemplo extraño, resultó ser algo que acabamos de encontrar para una aplicación interna que estamos construyendo)
fuente
match "/xyz/show/:project_id" => "xyz#show_project", :via => [:get]
mi marcado de vista:<%= link_to "Show Details", xyz_show_path(@project) %>
seguía produciendo:http://localhost:3000/xyz/show.1
Cambiando el archivo de rutas a:match "/xyz/show/:project_id" => "xyz#show_project", :via => [:get], :as => "show"
permitido:<%= link_to "Show Details", show_path(@project) %>
para que funcione.Otras personas que aterrizan aquí podrían estar en esta situación:
Si tiene un recurso singular declarado en su
routes.rb
:resource :map
No es necesario que le pases un objeto
map_path
. Intentar llamarmap_path(map)
resultará en un comportamiento similar (es decir, una URL comomap.12
).fuente