Мне интересно, как правильно сделать ассоциацию в Rails. Сначала я создаю модель города и организацию. Теперь я хочу, чтобы у организации был город ... это делается путем добавления ассоциаций has_many
и has_one
. После этого я запускаю rake db: migrate
. Но почему-то он не создает поле city
или city_id
в моей модели базы данных. Я должен это делать сам? Разве rails теперь не должны создавать ограничение внешнего ключа в базе данных?
Чтобы проверить, сработало ли это, я использую rails c
и набираю Organization
ответ следующий:
=> 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