Мне интересно, как правильно выполнить связь в Rails. Сначала я создаю модель города и организацию. Теперь я хочу, чтобы у Организации был город... это делается путем добавления ассоциаций has_many
и has_one
. После этого я запустил rake db:migrate
. Но почему-то это не создает поле city
или city_id
в моей модели базы данных. Должен ли я сам это делать? Должны ли теперь рельсы создавать ограничение внешнего ключа в базе данных?
Чтобы узнать, работает ли он, я использую rails c
и введите Organisation
ответ следующий:
=> Organisation(id: integer, name: string, description: string, url: string, created_at: datetime, updated_at: datetime)
Пожалуйста, извините мой глупый вопрос... Я новичок в Rails, и все по-прежнему очень незнакомо.
Спасибо!
Город:
class City < ActiveRecord::Base
has_many :organisations
end
Организация:
class Organisation < ActiveRecord::Base
has_one :city
end
Создать город:
class CreateCities < ActiveRecord::Migration
def change
create_table :cities do |t|
t.string :name
t.string :country
t.timestamps
end
end
end
Создать организацию:
class CreateOrganisations < ActiveRecord::Migration
def change
create_table :organisations do |t|
t.string :name
t.string :description
t.string :url
t.timestamps
end
end
end