2015-02-01 2 views
0

나는이 다음 모델 :정의 루비 관계

사용자 :

사용자 ID, 이름, 성, 국가, 성별, 검증, UserTypeID

에서 상태 :

상태 ID, 메시지, 게시일, 사용자 ID

UserTypes

UserTypeID, 설명, 나는 적절하게 이러한 관계를 연결 할 방법

를 사용? 상태가 하나 있지만 사용자 유형이 확실하지 않습니다.

class User < ActiveRecord::Base 
    has_many :statuses 
    #AssociationToUserTypes 
end 

class Status < ActiveRecord::Base 
    belongs_to :user 
end 

class UserType < ActiveRecord::Base 
    #AssociationTouUsers 
end 

내가 생성해야하는 항목이 있습니까?

+0

당신은 우리에게 사용자 유형에 관한 더 많은 정보를 줄 수 있으며, 사용자와 관련하여 얼마나 많은 정보를 줄 수 있습니까? – erickeno

+0

has_many는 객체와 관련된 행이 많은 경우에 사용합니다. 사용자가 작업을 수행 할 수있는 경우 (예 : 수행 할 작업이 많은 직원) has_many : tasks를 사용하지만 OP가 상태를 저장하기 위해 상태를 사용 중일 수 있습니다. 상태에 대해 가능한 많은 값이 있지만 각 사용자에게는 실제로 하나의 상태 만 있습니다. – MarsAtomic

+0

@Eryc Brown 사용자는 하나의 사용자 유형일 수 있습니다. UserType은 매우 기본적인 수준이지만 사용자 유형 (지금은 설명, 표준 사용자, 관리자, 개발자 등)의 속성을 포함합니다. –

답변

1
class UserType < ActiveRecord::Base 
    has_many :users, foreigner_key: "UserTypeID" 
end 

레일스는 user_type_id으로 열을 찾으므로 맞춤을 지정해야합니다.

은 BTW 당신은 ​​쉽게 할 수 있습니다 레일 생성기를 사용하는 경우 :

rails g model user first_name:string last_name:string state:string gender:boolean verified:boolean user_type:references 

이 명령은 마이그레이션, 모델, 빈 테스트 파일을 생성합니다. 또한 CamelCase를 열 이름으로 사용할 수 있습니다.

+0

그래, 난 발판 기술을 생성했지만 그 시점에서 UserType 설치가 없었어요. UserTypes 연결을 추가하기위한 마이그레이션 생성이란 무엇입니까? –

+0

'레일즈 g migratio addBlaBlaToUsers user_type_id : 정수' –