rubyonrails:Ruby on rails开发从头来( 5十 4)- ActiveRecord基础(指定关联关系)

  Rails支持 3种表间关联关系对多多对多你需要在Model中加入声明来标识这些关联:has_onehas_manybelongs_tohas_and_belongs_to_many

  关联关系可能存在于象订单和发票这样关系个订单只能有个发票在Rails中我们这样指明:

Order < ActiveRecord::Base
has_one :invoice
. . .
Invoice < ActiveRecord::Base
belongs_to :order
. . .


  订单和条目的间关系为对多我们这样声明:

Order < ActiveRecord::Base
has_many :line_items
. . .
LineItem < ActiveRecord::Base
belongs_to :order
. . .


  我们也许会对商品进行分类种商品可能会归入几个商品类别下个商品类别下有可能会有多种商品商品和分类关系就为多对多Rails中我们这样声明:

Product < ActiveRecord::Base
has_and_belongs_to_many :categories
. . .
Category < ActiveRecord::Base
has_and_belongs_to_many :products
. . .


  上面这些标识关联关系定义都会添加些思路方法给Model用来在关联对象中进行导航后面我们会分别对上面 3种关联关系展开讨论

Tags:  rubyonrails安装 rubyforrails rubyrails rubyonrails

延伸阅读

最新评论

发表评论