我有以下课程:
class MockQuestion < ActiveRecord::Base
belongs_to :mock
belongs_to :question
end
class Mock < ActiveRecord::Base
has_many :mock_questions
has_many :answers
end
class Question < ActiveRecord::Base
has_many :mock_questions
has_many :answers
end
class Answer < ActiveRecord::Base
belongs_to :question
belongs_to :mock
end
由于答案可能属于问题和模拟,我想用相同的模拟和问题将其连接到MockQuestion。
我可以通过以下方式查询:
Answers.where(question_id: question_id, mock_id: mock_id)
但我想做点什么
MockQuestion.answers
我可以用它做任何关系吗?
P.S。:答案表有“mock_id”和“question_id”
答案 0 :(得分:2)
为什么不在self.answers
课程中创建MockQuestion
:
def answers
Answers.where(mock_id: self.mock.id, question_id self.question.id)
end
我并不认为这种关系是可能的。因此,替代方法