У меня есть две таблицы базы данных, называемые «точками» и «действиями». Я хочу дать таблицу «точек» внешний ключ «activity_id» пути создания ассоциаций следующим образом:Ruby on Rails не генерирует внешний ключ из ассоциации
class Activity < ActiveRecord::Base
belongs_to :user
has_many :points, dependent: :destroy
...
end
и
class Point < ActiveRecord::Base
belongs_to :activity
end
Кроме того, у меня есть следующая Миграция файл для создания пункты таблицы:
class CreatePoints < ActiveRecord::Migration
def change
create_table :points do |t|
t.integer :activity_id
t.timestamps null: false
t.boolean :activities_completed, array: true, default: []
t.integer :point_value
t.float :time_left
end
end
end
Однако, когда я бегу
rake db:reset
rake db:migrate
rake db:seed
, а затем проверить пункты таблица по
rails c
Point.column_names
затем внешний ключ отсутствует:
irb(main):001:0> Point.column_names
=> ["id", "created_at", "updated_at", "activities_completed", "point_value", "time_left"]
Что я делаю неправильно? Что я могу сделать, чтобы сделать внешний ключ activity_id столбцом таблицы точек?
Я новичок в Ruby and Rails. Версия Rails - 4.24. Любая помощь приветствуется.
Спасибо! Я сделал это изменение. – Falk