2012-10-18 6 views
0

그래서 많은 강의실에 속한 많은 학생들을 처리하기 위해 ClassroomStudents라는 조인 테이블을 사용하여 학생과 교실 간의 HABTM 관계를 유지했습니다.레일 3 HABTM 테이블 조인 추가 필드 추가

학생들이 교실에 회원 자격을 요청할 수 있어야하므로 classroom_id 및 student_id가 포함 된 다른 초대 테이블을 만들었지 만 내 classroomstudents 테이블에서이 문제를 이미 처리했음을 알았습니다. 이 표를 다시 사용하기 만하면됩니다. 내 classroomstudents 테이블에 부울 수락 필드를 추가했습니다.이 필드는 확인 된 멤버십을 나타내는 true이고 기본값은 false입니다.

학생을 교실에 추가 할 수있는 방법에는 여러 가지가 있으며, 그 중 하나는 관계가 구축 될 때 자동으로 수락되기를 원합니다. 다음 코드를 사용하면 다음과 같습니다.

기본값 인 false 대신이 부울 수락 필드에 true 값을 지정할 수도 있습니다.

답변

1

데이터베이스의 기본값을 true으로 만들 수 있습니다. 예를 들어, 다음과 같은 마이그레이션을 작성하십시오.

class MakeAcceptedDefaultToTrue < ActiveRecord::Migration 
    def change 
    change_column :classroom_students, :accepted, :boolean, :default => true, :null => false 
    end 
end 
+0

또한 고려해 보았지만 교실에 참여할 새 요청을 만들 때 수동으로 결합 테이블 레코드를 작성하고 승인을 설정해야합니다 값을 false로 설정 하시겠습니까? ('@classroom << @ student'와 같은 것을 사용할 수있는 것과는 대조적이다.) – Noz

+0

오, 당신은 기본값이 어떻게 되든지 값을 기본값이 아닌 값으로 만드는 방법을 묻는 중이다. 죄송합니다. 질문을 이해하지 못했습니다. – declan

+0

예, 수동으로해야합니다. 여러 장소에서 일하는 것을 발견하면 도우미 방법으로 포장 할 수 있습니다. – declan