我应该在这种情况下使用哪种类型的rails关联?
一个问题有很多答案,一个用户也有很多答案。
多态关联似乎非常接近,但我需要问题的答案和用户指出的答案指向同一个对象。它似乎与{{3}上的示例不同因为在该示例中,Picture对象对于Employee和Product是不同的。使用他们的例子,我需要一张员工的照片和一张产品图片相同的图片。
我想我需要一个像
这样的结构-----------------------------------------------
answer_id | question_id | user_id | answer_text
-----------------------------------------------
| 1 | 5 | 10 | stuff |
| 2 | 3 | 6 | stuff 2 |
| 3 | 2 | 10 | stuff 3 |
我可以让答案属于问题,并手动添加user_id,但这并不觉得非常“困难”。
任何想法都赞赏。
答案 0 :(得分: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