레일즈 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 가 필요 없는 경우에 사용하는 것이 좋다.

댓글

이 블로그의 인기 게시물

부트스트랩 사용 시 버튼 오른쪽 정렬하는 방법 (How to use float-right for right align in bootstrap)

맥(Mac)에서 MySql 사용 시 Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 오류가 발생하는 경우 해결 방법

HTML, CSS - footer fixed (foot 하단 고정 시키기)