拥有并且属于许多通过

时间:2013-06-05 03:51:35

标签: ruby-on-rails ruby relationship has-and-belongs-to-many

我有一个复杂的关系,我很难在视图中表示。我需要一些帮助来找出建立关系的最佳方式,这可能会解决我的大部分问题。

我在这里有一个图表:Diagram

基本上我正在尝试设置动态调查类型的应用程序。管理员可以去添加问题和问题选择。当用户登录时,他们可以回答这些问题。他们每个问题只能选择一个答案,但会有一个部分,他们可以选择他们从“匹配”中接受的答案。这将用于匹配用户。

例如:

问题:

你最喜欢的颜色是什么? A)红色B)黄色C)蓝色

比利选择红色,但表示他会接受红色或黄色作为比赛的答案。

约翰选择黄色并说他会接受红色或黄色的答案。因此,因为他们都选择了彼此“接受列表”中的颜色,那么这两个颜色将匹配问题。

建立关系并在视图中表示关系的好方法是什么?我很难将这个脑筋缠绕在这个......

谢谢!

1 个答案:

答案 0 :(得分:1)

我不知道你是否可以改变你的架构,但如果是的话,我认为你可以做到这一点。

我会尝试做类似下面的事情:

模型(表格):

Users
  -id

Questions
  -id

Choices
  -id
  -question_id

Answers
  -id
  -user_id
  -choice_id
  -question_id
  -is_acceptance (boolean)

User has_many answers
Qestion has_many choices
Choice belongs_to question
Answer bleongs_to user , question 

然后你可以将所有答案保存在一个表中并标记(真或假)只有主答案。 毕竟你可以编写自己的逻辑来回答相同的答案,接受答案等。