【发布时间】:2011-11-14 14:03:10
【问题描述】:
我想知道如何在 Rails 中正确进行关联。首先,我创建了一个城市模型和一个组织。现在我想让一个组织有一个城市......这是通过添加has_many 和has_one 关联来完成的。之后我运行rake db:migrate。但不知何故,它不会在我的数据库模型中创建字段city 或city_id。我必须自己做吗? Rails 现在不应该在数据库中创建外键约束吗?
要查看它是否有效,我使用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
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3.1 activemodel