2017-04-08 1 views
0

나는 두 모델을 가지고 있는데, 각각은 서로 의존한다.다른 레코드에 의존 할 때 레코드를 만드는 방법

class Company < ActiveRecord 
    belongs_to :user 
end 

class User < ActiveRecord 
    belongs_to :company 
end 

회사에 필수 user_id 열이 있습니다. 사용자에게 필수 company_id 열이 있습니다.

두 회사가 서로 의존 할 때 회사와 사용자를 만들려면 어떻게해야합니까? 이 관계가 many to many relationship라고하여 scenarion에서

답변

1

, 당신은이 예처럼이 링크 Associations

을 참조하시기 바랍니다 자세한 내용은 두 테이블

의 외래 키와 users_companies를 호출 사이에 중간 테이블을 만들 수 있습니다

class Company < ActiveRecord 
    has_many :users_companies, dependent: :destroy 
    has_many :users, through: users_companies 
end 

class User < ActiveRecord 
    has_many :users_companies, dependent: :destroy 
    has_many :companies, through: users_companies 
end 

class UsersCompany < ActiveRecord 
    belongs_to :user 
    belongs_to :company 

    # This model have two foreign key 
    user_id and company_id 
end 
+1

내가 가입 테이블은 companies_users, 둘 다 복수해야한다고 생각합니다. 알파벳순으로. http://guides.rubyonrails.org/association_basics.html#creating-join-tables-for-has_and_belongs_to_many-associations –

0

거짓 값을 사용하여 개체 중 하나가 유효 함

company=Company.create(user_id: dummy) 
user=User.new 
user.company = company 
user.save 
company.update_attribute(user_id: user.id) 
관련 문제