[ruby-on-rails] 경로 도우미는 슬래시 대신 점으로 경로를 생성합니다.

내 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).


답변