0

在这种情况下,我应该使用哪种类型的 rails 关联?

一个问题有很多答案,一个用户也有很多答案。

多态关联似乎非常接近,但我需要问题的答案和用户给出的答案指向同一个对象。 它似乎与关联指南上的示例不同,因为在该示例中,员工和产品的图片对象不同。使用他们的示例,我需要一张员工的图片和一个产品的图片是同一张图片。

我想我需要一个像

-----------------------------------------------
answer_id | question_id | user_id | answer_text
-----------------------------------------------
|    1    |      5      |    10   |   stuff   |
|    2    |      3      |    6    |   stuff 2 |
|    3    |      2      |    10   |   stuff 3 |

我可以让答案属于问题,并手动添加 user_id,但这感觉不是很“有条理”。

任何想法表示赞赏。

4

1 回答 1

1

这不适合你吗?

class User < ActiveRecord::Base
 has_many :answers
end

class Question < ActiveRecord::Base
 has_many :answers
end

class Answer < ActiveRecord::Base
 belongs_to :question
 belongs_to :user
end

你的表结构会像

answers
   -question_id
   -user_id
   -answer_text
于 2013-10-18T21:05:20.863 回答