2011-08-28 2 views
1

사람들이 관계 질문을 할 수있는 ROR 웹 사이트가 있고 다른 사람들은 예 또는 아니오로 투표하고 질문에 답하거나 조언 할 수 있습니다.웹 사이트 및 mysql 디자인 질문

원래 질문을 한 사람이 올 수있는 답장 텍스트 상자 옆에있는 확인란을 사용하여이를 확인하고 사례를 닫은 다음 관계 결과를 알려줍니다.

예를 들어 그녀가 이야기를하고 "너는 그가 나를 좋아한다고 생각 하느냐?"라고 묻는다면 ... 그녀는 와서 "나를 좋아해."라고 대답하고 사례를 닫을 수 있습니다.

의견과 답변 모델을 제공합니다. 응답을 예 또는 아니요 경우 사용자가 닫는 회신 및 0 또는 1, 또는 닫는 경우 회신 NULL을 의미하는 회신 테이블에 열 '해상도'추가 생각하고 있습니다.

나는 닫는 결과가 있었는지 그 결과가 무엇인지를 알기를 원한다.

웹 사이트에서 초과 근무 중 일부는 각 댓글을 찾는 데 필요한 사이트를로드합니다. 답장 중 하나라도 닫히면 댓글이 닫힙니다.

나는 이것이 매우 집중적 일 수 있다고 생각한다. 단지 주석 표에 같은 열을 추가해야만 그렇게 확인할 수 있을까?

답변

0

의견 표에만 해상도를 추가합니다.

1

한 가지 대안은 질문 표에 resolution_id 열을 가지고 있으며 회신이 있어야합니다. 그런 다음 has_one relationship을 설정하면됩니다.

질문에서 직접 해결할 수 있으며 질문이 해결되었는지 쉽게 확인할 수 있습니다. 질문 당 최대 하나의 해결 방법도 있습니다.

+0

감사합니다. 그래서 Comment has_many replies가 이미 has_one 해상도를 설정해도 괜찮습니까? 해상도가 reply 유형이라도? hm 그래서 레일스에서 ​​has_many/has_one 이후의 단어는 모델이어야하며, 그런 식으로 코드는 has_many와 has_one 같은 유형의 코드를 혼동하지 않게됩니까? 또는 해상도라는 새로운 모델을 만들어야합니까? – Matilda

+0

@mina : 두 관계 모두 괜찮습니다. 회신에 플래그를 추가하여 어떤 것이 해상도인지 나타내면 어떻게 사용할지에 따라 달라질 수 있습니다. –