Имам 3 модела: въпрос, опция, правило
Въпросът има_много опции; Опцията се нуждае от външен ключ за question_id
Таблицата с правила се състои от 3 чужди_ключа:
- 2 колони/препратки към question_ids -> външни ключове, именувани като 'assumption_question_id' и 'consequent_question_id'
- 1 колона/препратка към option_id -> външен ключ, именуван като option_id или condition_id
Асоциации за правило: Въпросът има_много правила; и Option has_one rule
Искам да разбера как да напиша миграции за това и как това се свързва с изразите 'has_many'/'belongs_to', които пиша в моя модел, и опцията ':foreign_key', която мога да включа в моя модел.
Имах това за моята миграция на Option, но не съм сигурен как операторът "add_index" работи по отношение на чужди ключове и как мога да го използвам за моята миграция на Rule: (моделите ми Question и Options имат подходящи оператори has_many и belongs_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
Благодаря ти за помощта!