经过一段时间的中断后,我又回到了Ruby on Rails的开发阶段。我正在努力为我正在研究的这个简单的练习应用程序制定正确的模型关联和迁移。基本上,我有3个型号:
城市,标记和类别
城市 - > name:string,desc:text 标记 - > name:string,lat:decimal,lng:decimal 类别 - >名:字符串
城市在地图上有多个标记。每个标记属于一个类别(即餐厅,记录存储等)。我现在所拥有的是:
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模型,但它没有那么成功。我对这一切真的很陌生,协会让我停下来。任何帮助将不胜感激!
百里
答案 0 :(得分:1)
我认为你混淆了模型和迁移生成器。
如果要生成模型:
rails generate model Marker name:string lat:decimal lng:decimal city_id:integer
如果要为此模型生成迁移:
rails generate migration AddNameToMarkers name:string
答案 1 :(得分:0)
这不是迁移生成器的正确语法。不过,我想你想生成一个资源。只需在命令中用migration
替换resource
。
rails generate resource Marker name:string lat:decimal lng:decimal city_id:integer
这也将生成控制器,模型和迁移。
答案 2 :(得分:0)
我认为如果你想在Marker和City之间添加连接,你应该在最后添加
城市:引用