Как сгенерировать ассоциации между моделями

Мне интересно, как правильно сделать ассоциацию в 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
20
задан Mark 14 November 2011 в 14:19
поделиться