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ś?
Odpowiedzi:
Tak, to jest błąd dotyczący liczby mnogiej.
Przekazując ID 1, zakładam, że chcesz wyświetlić pojedynczy rekord.
Musisz więc użyć liczby pojedynczej „message_thread”:
message_thread_path(1)
Który przyniesie:
http://localhost:3000/message_threads/1
resources :my_model
czy resources :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)
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.