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_modeloresources :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.1Cambiando 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 :mapNo 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