class QuestionSet
has_and_belongs_to_many :questions,
class_name: 'Exam',
join_table: 'question_question_sets',
foreign_key: 'question_set_id',
association_foreign_key: 'question_id'
end
class Question
has_and_belongs_to_many :question_sets,
class_name: 'Exam',
join_table: 'question_question_sets',
foreign_key: 'question_id',
association_foreign_key: 'question_set_id'
end
Вышеуказанные модели унаследовали от базовой модели Exam
(с использованием рельсов STI) и присоединиться к таблице содержит два поля: question_id
и question_set_id
. Теперь мне нужно преобразовать эту ассоциацию в has_many through
.рельсов HABTM к имеет много через
Я попытался следующим образом:
class QuestionQuestionSet
has_many :questions
has_many :question_sets
end
class Question
has_many :question_question_sets, foreign_key: :question_id
has_many :question_sets, through: :question_question_sets
end
class QuestionSet
has_many :question_question_sets, foreign_key: :question_set_id
has_many :questions, through: :question_question_sets
end
Пожалуйста, покажите, что вы пробовали самостоятельно, прежде чем просить кого-то сделать это за вас. –
Я играл с именем класса и foreign_key. Но ничего не сработало для меня –
обновил мой вопрос, пожалуйста, взгляните на него –