Ruby on Rails协会 - 需要帮助

时间:2012-09-15 19:48:17

标签: ruby-on-rails activerecord

经过一段时间的中断后,我又回到了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模型,但它没有那么成功。我对这一切真的很陌生,协会让我停下来。任何帮助将不胜感激!

百里

3 个答案:

答案 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之间添加连接,你应该在最后添加

  

城市:引用