Мне интересно, как правильно сделать ассоциацию в 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