멋쟁이 사자처럼

멋쟁이 사자처럼/ 멋쟁이 사자처럼 5기/ M:N relation 만들기

최잼 2017. 2. 17. 12:52

M:N의 대표적인 예시는 수업과 학생!

한 명의 학생은 여러개의 수업을 듣는다.

하나의 수업에는 여러 명의 학생이 있다.


또 하나의 예시로 user와 group

한 명의 user는 여러 개의 group에 소속된다.

하나의 group에는 여러 명의 user를 가진다.


관련 문서 : http://guides.rubyonrails.org/association_basics.html


$ rails g model user

$ rails g model group

$ rails g model join



관련 문서에서 2.4 The has_many :through Association이 M:N에 관한 내용이 있다.여기서 첫줄에 보면 many to many 관계를 위해서는 또 다른 하나의 모델이 필요하다고 나와있다. (나는 그 모델을 join으로)


  • group.rb



  • join.rb



  • user.rb




데이터 연결 과정(콘솔에서 작업)
u=User.new
u.name="john"
u.save

g=Group.new
g.name="old"
g.save

User.first.groups << Group.first

마지막 확인 
User.first.groups