환자 모델과 클라이언트 모델이 있습니다. 환자는 많은 고객을 가질 수 있고 고객은 많은 환자를 가질 수 있습니다. 나는 협회를위한 모델을 만들고 싶다. 나는 그것을 무엇이라고 부릅니까?도움말 레일에서 모델 이름 지정
고객이 병원 또는 의사의 진료실입니다. 환자는 병원이나 의사 사무실에서 교육을 받아야하는 사람입니다.
환자 모델과 클라이언트 모델이 있습니다. 환자는 많은 고객을 가질 수 있고 고객은 많은 환자를 가질 수 있습니다. 나는 협회를위한 모델을 만들고 싶다. 나는 그것을 무엇이라고 부릅니까?도움말 레일에서 모델 이름 지정
고객이 병원 또는 의사의 진료실입니다. 환자는 병원이나 의사 사무실에서 교육을 받아야하는 사람입니다.
클라이언트 란 무엇입니까? 어떤 종류의 의사입니까?
어때 대략 registrations
또는 enrollments
?
그런 다음 거라고 :
# client
has_many :enrollments
has_many :patients, :through => :enrollments
# patient
has_many :enrollments
has_many :clients, :through => :enrollments
그런 다음 규칙을, 조인 테이블의 이름은 단지 알파벳 순으로 정렬 할 필요가 따르십시오 : 당신이 모델 클래스에 액세스해야하는 경우
# create_clients_patients.rb
create_table "clients_patients", :id => false do |t|
t.column "client_id", :integer, :null => false
t.column "patient_id", :integer, :null => false
end
이것은 당신이 레일 3.1에서 더 이상 사용되지되는 HMABTM 관계를 사용하는 가정입니다. 당신은 has_many : through를 사용하는 것이 더 낫습니다. 또는 모델 ClientsPatients를 호출하면 이상한 이름이됩니다. – jonnii
당신은 아마를 사용할 필요가 없습니다 다 대다 협회 있지만 : 원하는대로 이름을 지정할 수 있습니다
has_many :through
협회.
다 대다 연관에는 크로스 테이블 모델에 직접 액세스 할 필요가 없으므로 (예 : clients_patients) 테이블 명명 규칙 만 있습니다.
연관 상에 활성 부울 필드가있는 clients_patients 모델을 상상해보십시오. 이 경우 모델이 필요하거나 테이블 만 필요합니까? –
좋은 소리. 어떻게해야합니까? rails generate model 등록 client_id : 정수 patient_id : 정수 활성 : 부울 –
그래, 그래. 저는 실제로 생성기를 많이 사용하지 않으므로 올바른 모델을 생성 할 수 있는지 확실하지 않지만 등록 모델을 'belongs_to client'및 'belongs_to patient'로 지정해야합니다. – jonnii
감사합니다. –