레일즈 route member 와 collection (Ruby on Rails, route member, collection)
레일즈에서 routes.rb 파일에서 자주 resource :posts 와 같이 resource를 사용한다. resource는 CRUD에 필요한 route 들을 만들어주기에 매우 편리하다.
하지만, CRUD 말고도 필요한 기능, 또는 필요한 url 주소가 있을 수 있다. 그 때 사용하는 것이 member와 collection이다.
resource :post do
post :create_log, on: :member
get :search, on: :collection
end
이런 식으로 사용하게 되는데 member와 collection의 차이를 알아보자.
member 는 /posts/:id/create_log 이런 식으로 post의 id 값과 함께 url 주소를 사용할 수 있다. 따라서 post id 가 필요한 경우라면 member를 사용하는 것이 좋다.
collection은 /posts/search 와 같이 route 를 생성해주기 때문에 특정 post id 가 필요 없는 경우에 사용하는 것이 좋다.
댓글
댓글 쓰기