首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

提取到结合类中

2012-11-12 
提取到组合类中如果一个模型中有一些关联字段,例如一个用户有一个address_city和一个address_street,你可

提取到组合类中

如果一个模型中有一些关联字段,例如一个用户有一个address_city和一个address_street,你可以把它们提取到组合类中去。

?

丑陋的

?

class Customer < ActiveRecord::Base  composed_of :address, :mapping => [ %w(address_street street), %w(address_city city)]endclass Address  attr_reader :street, :city  def initialize(street, city)    @street, @city = street, city  end  def close_to?(other_address)    city == other_address.city  end  def ==(other_address)    city == other_address.city && street == other_address.street  endend

?

Rails提供了一个帮助方法composed_of来方便的提取一个组合类,这里我们为Customer添加了一个叫Address的组合类,在Address模型中我们使用了street和city属性,并且和Customer模型中的address_street和address_city对应。

热点排行