Ассоциации и (множественные) внешние ключи в рельсах (3.2): как описать их в модели и записать миграции

У меня есть 3 модели: вопрос, вариант, правило

Вопрос has_many вариантов; Опция нуждается во внешнем ключе для question_id

Таблица правил состоит из 3 foreign_keys:

2 columns/references to question_ids -> foreign keys named as 'assumption_question_id' and 'consequent_question_id' 1 column/reference to option_id -> foreign key named as option_id or condition_id

Ассоциации для правила: Вопрос has_many правила; а также Опция has_one rule

Я хочу понять, как написать миграцию для этого и как это ассоциируется с «has_many» / »принадлежит_ к». операторы, которые я записываю в моей модели, и "иностранный ключ"; вариант, который я могу включить в мою модель.

У меня было это для моей миграции Option, но я не уверен, как использовать & quot; add_index & quot; оператор работает с точки зрения внешних ключей и того, как я могу использовать его для переноса своего правила: (мои модели Вопросов и Вариантов имеют соответствующие операторы has_many и own_to - и работают нормально)

class CreateOptions < ActiveRecord::Migration
  def change
    create_table :options do |t|
      t.integer :question_id
      t.string :name
      t.integer :order

      t.timestamps
    end
    add_index :options, :question_id
  end
end

Спасибо вам за помощь!

Ответы на вопрос(3)

Ваш ответ на вопрос