[Rails] 라우팅이 중첩될 때는 Resources가 좋은 것 같아요.
나는 간단한 이해로 같은 사람의 참고가 되고 싶다.
⭐상황을 재촉하다
・간단한 책 투고 응용
/투고한 책에 아주 좋습니다!기능 및 주석 기능
・config/routes.rb내
정말 좋다!부모님의 북에 (favorite)과 댓글(comment)을 끼워넣고 싶어요.
・favorite와comment는 Resources를 사용할지 아니면 Resource를 사용할지 모른다
(참고한 교재는favorite가resource에서comment에recorurces를 사용해서 혼란을 초래했습니다.)
우선 끼워넣기 전에 리소스와 리소스의 패스가 어떻게 다른지 확인하세요.
・resources
routes.rb
resources :books
단말기 books GET /books(.:format) books#index
POST /books(.:format) books#create
new_book GET /books/new(.:format) books#new
edit_book GET /books/:id/edit(.:format) books#edit
book GET /books/:id(.:format) books#show
PATCH /books/:id(.:format) books#update
PUT /books/:id(.:format) books#update
DELETE /books/:id(.:format) books#destroy
・resource
routes.rb
resource :book
단말기 new_book GET /book/new(.:format) books#new
edit_book GET /book/edit(.:format) books#edit
book GET /book(.:format) books#show
PATCH /book(.:format) books#update
PUT /book(.:format) books#update
DELETE /book(.:format) books#destroy
POST /book(.:format) books#create
위에서 확인할 수 있는 이 두 개가 달라요.
resources에서 경로에 id를 가지게 하고 컨트롤러에 index 동작을 생성합니다
resource에서 경로에 id가 없고 index 동작도 생성하지 않습니다
resources는 여러 개의 존재하는 자원에 대한 REST 루트를 설계할 때 사용합니다(7가지 동작)
resource는 하나의 자원만 존재하는 REST 루트를 설계할 때 사용합니다
더욱 구체적인 장면
아이디를 만들 수 없습니다.
여러 리소스에서 "하나의 리소스"를 지정하지 않을 수 있습니다.
(원래 자원이 하나밖에 없어서 index가 필요 없어요)
지정할 때는'쇼 화면'또는'edit 화면'이 필요할 때입니다.
아기 파트를 고민할 때'show 화면'이나'edit 화면'이 필요한가?판단을 내리다.
이번 결론.
정말 좋다!show 화면 등을 준비하지 않은 앱이기 때문에
이렇게 끼워 넣습니다.
routes.rb
resources :books do
resource :favorite, only: [:create, :destroy]
resource :book_comment, only: [:create, :destroy]
end
단말기book_favorite DELETE /books/:book_id/favorite(.:format) favorites#destroy
POST /books/:book_id/favorite(.:format) favorites#create
book_book_comment DELETE /books/:book_id/book_comment(.:format) book_comments#destroy
POST /books/:book_id/book_comment(.:format) book_comments#create
총결산
디테일한 이해를 중시하세요.
나는 당시의 상황에 맞추어 잘 조합할 수 있을 것 같다
지적할 점이 있으면 말씀해 주세요.
참고 자료
https://qiita.com/Atsushi_/items/bb22ce67d14ba1abafc5
https://railsguides.jp/routing.html
참고할게요!
대단히 감사합니다😊
Reference
이 문제에 관하여([Rails] 라우팅이 중첩될 때는 Resources가 좋은 것 같아요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/N-Moriya/items/a0d075c6d9e2a3bc3f9e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)