Rails의 Routing 네스트에 대한 설명

4249 단어 RubyRails

Rails의 Routing 중첩을 정리했습니다. 


본래의 말.
Rails의 라우팅은 View를 통해 수신된 URL을 식별하고 컨트롤러에 정의된 동작(메서드)을 지정하는 것입니다.
Rails의 라우트는 config/routes입니다.rb로 설정
config/routes.rb
>>Rails.application.routes.draw do
get 'URL'   => コントローラー名#メソッド    
なんちゃら
なんちゃら
end
이런 느낌이야.
응용 프로그램에서 어떻게 설정되었는지 Terminal로 두드려서 다음 명령을 확인하세요.rake routesorbundle exec rake routes

resouce/resources라는 물건입니다.


응용 프로그램 개발에 따라 로팅의 기술이 많이 늘어나 보기 힘들다.
그래서 리소스가 등장했다.
루팅에서 특정 컨트롤러에 대한 리소스를 기술함으로써 index,create,new,edit,show,update,destroy의 표준 기능의 경로를 설정할 수 있습니다.
config/routes.rb
>>Rails.application.routes.draw do
 resources :review
end
위에서 말한 바와 같이 이렇게 묘사하면 경로를 설정할 수 있다.

네스트된 Routing


그럼 여기가 본론입니다.
현재 애니메이션 평론 사이트를 만들고 있는데 한 애니메이션에 대해 많은 평론이 있다.만약 특정한 규칙에 따라 하나의 평론의 URL을 분배한다면 사이트의 URL은 아마도×××××××/아마도 anime/id/review/id 같은 것일 거예요.
이럴 때는 로딩을 끼워 넣는다.
중첩된 쓰기
config/routes.rb
Rails.application.routes.draw do
 resources :anime do
 resources :review
 end
end
이렇게 로딩을 끼워 넣으면 라크 루트로 결과를 확인합니다.

중첩된 anime/: animeid/review인지 확인할 수 있을 것 같습니다.
또한 플러그인을 통해config/route를 실현한다.rb의 기술량을 줄일 수 있고 규칙에 따라 URL을 흔들 수 있다.

"resources"와 "resource"의 차이점


복수 형식과 단수 형식이 있는 여러 시스템이 있는데 이것은 단순한 대상이 얼마나 많은지 단수가 다른지일 뿐이다.
구체적으로 말하면
예를 들어 지구는 하나뿐이다.하지만 지구상에는 많은 나라들이 있을 때가 있다.
이렇게 하면 루팅이라고 쓸 수 있어요.
config/routes.rb
Rails.application.routes.draw do
resource :earth do
  resources :country
 end
end
그리하여

이렇게 된 느낌.
아까와 달리 지구는 하나밖에 없어서 id가 차이지 않았어요.반면 애니미는 여러 개가 있어서 id를 차였어요.
다만, 우주에 행성이 많고 지구에 그런 생각이 있다면 id를 휘둘러야 할 것 같아서 Resources를 쓰는 것이 적당하다.
이렇게 정리하면 돼.

중첩은 한 번 전에 해야 한다.


루트 플러그인은 실제로 한 층 이상 만들 수 있지만 복잡하고 처리하기 어려워서 추천하지 않습니다.
인용하다
https://techracho.bpsinc.jp/baba/2014_03_03/15619
https://railsguides.jp/routing.html

좋은 웹페이지 즐겨찾기