2010-11-19 2 views

답변

1

데이터베이스에 액세스하는 웹 앱만 가질 필요는 없습니다. 다른 응용 프로그램으로 데이터베이스에 액세스하려는 경우 또는 직접 외부 키를 작성하는 것이 좋습니다. 사용자가 잘못된 정보를 삽입하거나 오류로 삭제하지 못하게하기 때문에 외부 키를 생성하는 것이 좋습니다. 당신이 on delete 옵션을 설정 한 경우)

+0

당신은 a.destroy 삭제를 의미합니까? 또는 : dependent => : destroy? – wizztjh

+1

레일스에서 ​​삭제는 하나의 레코드 만 삭제하고 파괴는 레코드와 자식을 삭제합니다. 그러나 어떤 이유로 든 레코드를 삭제하려고 시도하면 콘솔이나 GUI를 통해 DB에 들어갈 때 추가 위탁 아동을 남겨 둘 경우 해당 레코드가 삭제되지 않습니다. –

3

이러한 제약 조건을 만들 필요가 없습니다. 조인 테이블을 작성하려면 독립형 이주를 작성하기 만하면됩니다. 말하자면 habtm, User 및 Role이있는 두 개의 모델이 있습니다. 마이그레이션을의

create_table :roles_users, :id => false do |t| 
    t.references :user 
    t.references :role 
end 

에서

>> script/generate migration roles_users 

!

+0

오, 고마워, 난 왜 궁금해서 그저 ID를 사용 안할거야? – wizztjh

+0

id 기본 키가 필요하지 않으므로. – Shreyas

관련 문제