내 route.rb에는 다음이 있습니다.
resources :message_threads
내가 전화 할 때 :
message_threads_path(1)
나는 얻다:
/message_threads.1
왜 이런거야? 내 다른 리소스는 잘 작동합니다. 나는 이것을 올바르게 복수화하지 않습니까?
답변
예, 이것은 복수화 오류입니다.
ID 1을 전달함으로써 단일 레코드를 표시하고 싶다고 가정합니다.
따라서 단수 ‘message_thread’를 사용해야합니다.
message_thread_path(1)
결과는 다음과 같습니다.
http://localhost:3000/message_threads/1
답변
때로는 경로에 : as 매개 변수를 제공하지 않는 경우도 있습니다.
delete "delete/:id" => "home#delete"
바뀌었다:
delete "delete/:id" => "home#delete", as: :delete
(이상한 예는 무시하고, 우리가 빌드하는 내부 앱에서 방금 만났던 것입니다)
답변
여기에 착륙하는 다른 사람들은이 상황에있을 수 있습니다.
에 선언 된 단일 리소스가있는 경우 routes.rb
:
resource :map
에 개체를 전달할 필요가 없습니다 map_path
. 호출 map_path(map)
을 시도하면 유사한 동작이 발생합니다 (예 :와 같은 URL map.12
).