0

经过一段时间的中断后,我重新开始了 Ruby on Rails 的开发。我无法为我正在开发的这个简单的练习应用程序制定正确的模型关联和迁移。基本上,我有 3 个模型:

城市、标记和类别

City -> name:string, desc:text Marker -> name:string, lat:decimal, lng:decimal Category -> name:string

一个城市在地图上有多个标记。每个标记都属于一个类别(即餐厅、唱片店等)。我目前拥有的是:

class City < ActiveRecord::Base
  has_many :markers
end

class Marker < ActiveRecord::Base
  has_one :category
  belongs_to :city
end

class Category < ActiveRecord::Base
  belongs_to :marker
end

我有一种感觉,我搞错了。即使我没有,我真正的麻烦是解决迁移问题。我想这样做:

rails generate migration Marker name:string lat:decimal lng:decimal city_id:integer

会绑定 City/Marker 模型,但它并没有那样做。我对这一切真的很陌生,这些协会让我停了下来。任何帮助,将不胜感激!

巴里

4

3 回答 3

1

我认为您混淆了模型和迁移生成器。

如果要生成模型:

rails generate model Marker name:string lat:decimal lng:decimal city_id:integer

如果要为此模型生成迁移:

rails generate migration AddNameToMarkers name:string
于 2012-09-15T20:40:00.760 回答
0

这不是迁移生成器的正确语法。不过,我猜你想生成一个资源。只需在命令中替换migration为。resource

rails generate resource Marker name:string lat:decimal lng:decimal city_id:integer

这也将生成控制器、模型和迁移。

于 2012-09-15T20:33:38.440 回答
0

我认为如果你想添加标记和城市之间的连接,你应该在最后添加

城市:参考

于 2012-09-15T20:35:42.647 回答