W moich route.rb mam:
resources :message_threads
Kiedy dzwonię:
message_threads_path(1)
Dostaję:
/message_threads.1
Dlaczego to? Moje inne zasoby działają dobrze. Czy nie poprawiam liczby mnogiej tego poprawnie, czy coś?
ruby-on-rails
ruby-on-rails-3
ghempton
źródło
źródło
resources :my_model
czyresources :my_models
? (Musisz dodać liczbę mnogą w pliku tras.)Czasami dzieje się tak również wtedy, gdy nie podajesz parametru: as w swojej trasie:
delete "delete/:id" => "home#delete"
Zmienić na:
delete "delete/:id" => "home#delete", as: :delete
(zignoruj dziwny przykład, tak się złożyło, że właśnie natknęliśmy się na wewnętrzną aplikację, którą tworzymy)
źródło
match "/xyz/show/:project_id" => "xyz#show_project", :via => [:get]
mój widok znaczników:<%= link_to "Show Details", xyz_show_path(@project) %>
nadal produkował:http://localhost:3000/xyz/show.1
Zmienianie pliku tras na:match "/xyz/show/:project_id" => "xyz#show_project", :via => [:get], :as => "show"
dozwolone:<%= link_to "Show Details", show_path(@project) %>
to work.Inne osoby, które tu wylądują, mogą znajdować się w takiej sytuacji:
Jeśli masz zadeklarowany pojedynczy zasób w
routes.rb
:resource :map
Nie musisz przekazywać obiektu
map_path
. Próba wywołaniamap_path(map)
spowoduje podobne zachowanie (np. Adres URLmap.12
).źródło