Я googled и искал форумы, но не могу найти ответ, который соответствует моему сценарию.Полиморфная ассоциация в Rails 3
Допустим, есть следующие модели:
class TextProblem < ActiveRecord::Base
belongs_to :askable, :polymorphic => true
...
end
class MultipleChoice < ActiveRecord::Base
belongs_to :askable, :polymorphic => true
...
end
class WordMatch < ActiveRecord::Base
belongs_to :askable, :polymorphic => true
...
end
Теперь у меня есть еще одна модель под названием вопрос. Он имеет поле с именем question_type_id, который указывает, какой тип вопроса это и поле имени question_id, что является внешним ключом к одной из askables .. я хочу сделать что-то вроде этого:
class Question < ActiveRecord::Base
has_one :askable, :foreign_key => 'question_id' ....
end
и дать ему правильный вопрос, но я не уверен, как написать ассоциацию. Я смотрю на это правильно или должен ли я пытаться достичь этого по-другому?
Любая помощь приветствуется!
Спасибо Vishma, сейчас он работает. Мне пришлось изменить базовую схему в таблице вопросов, чтобы использовать правильные соглашения (_id & _type). Когда это происходит, и ассоциации меняются, я получаю ожидаемые результаты. – Kevin