입니다. User
과 Business
의 두 가지 모델이 있습니다. 많은 사용자가 비즈니스를 소유 할 수 있으며 사용자는 많은 비즈니스를 소유 할 수 있습니다.레일은 has_many 연관성을 지니고 있지만 키 이름은
사용자는 비즈니스 또는 클라이언트의 직원 일 수도 있습니다.
소유자 비즈니스 협회에 초점을 맞추는 동안 소유자로 언급하는 동안 사용자 ID를 사용하려고 할 때 문제가 발생했습니다.
나는 BussinessesOwners 테이블에 가입하고 다음 모델이 설정 한 :
class User < ActiveRecord::Base
has_many :businesses, through: :businesses_owners
end
class Business < ActiveRecord::Base
has_many :owners, :class_name => 'User', :foreign_key => "owner_id", through: :businesses_owners
end
class BusinessesOwners < ActiveRecord::Base
belongs_to :users, :foreign_key => "owner_id"
belongs_to :businesses
end
BusinessesOwners 마이그레이션 :
class CreateBusinessOwners < ActiveRecord::Migration
def change
create_table :business_owners, :id => false do |t|
t.integer :business_id
t.integer :owner_id
end
end
end
을 나는 사용자 모델로 참조 할 수있는 연결을 설정하는 방법 소유자? - 그래서 Businesses.owners는 사용자 목록을 반환합니까?
이것은 내가 생각하는 대답입니다 - 내가 필요한 이유가 무엇인지 설명 할 수 있습니다 –
훌륭한 답변입니다! ': user_id' & 'business_id'라는 이름의'CreateBusinessOwnerships' 컬럼을 사용하려면 무엇을해야합니까? –
바로 그것들입니다 :'t.references : user'는't.integer : user_id'라고하는 좀 더 의미있는 방법입니다. – svoop