Я пытаюсь понять, как работает rails в отношении внешнего ключа и первичных ключей. Исходя из чистого фона SQL, метод Rails кажется мне очень чуждым.
У меня есть следующие две миграции:
Группы
class CreateGroups < ActiveRecord::Migration
def self.up
create_table :groups do |t|
t.string :title
t.text :description
t.string :city
t.integer :event_id
t.string :zip
t.string :group_id
t.text :topics
t.timestamps
end
end
def self.down
drop_table :groups
end
end
и События:
class CreateEvents < ActiveRecord::Migration
def self.up
create_table :events do |t|
t.string :title
t.string :description
t.string :city
t.string :address
t.time :time_t
t.date :date_t
t.string :group_id
t.timestamps
end
end
def self.down
drop_table :events
end
end
Группа может иметь много событий, и событие может принадлежать одной группе. У меня есть следующие две модели:
class Event < ActiveRecord::Base
belongs_to :group, :foreign_key => 'group_id'
end
и
class Group < ActiveRecord::Base
attr_accessible :title, :description, :city, :zip, :group_id, :topics
has_many :events
end
не уверен, как указать внешние ключи и первичные ключи для этого. Например, группа идентифицируется столбцом: group_id, и с ее помощью мне нужно выбрать события, принадлежащие одной группе!
как мне это сделать!