结合DB列值的Rails模型中的自定义方法

时间:2012-03-12 04:07:40

标签: ruby-on-rails model

我正在尝试创建一个名为full_address的自定义方法,该方法将地址,城市,州和邮政列的值放在一起。

以下是我的rails模型location.rb的样子。

class Location < ActiveRecord::Base
  attr_accessible :address, :city, :state, :zip, :latitude, :longitude
  def full_address
    [address, city, state, zip].compact.join(', ')
  end
  geocoded_by :full_address
  after_validation :geocode
end 

这有用吗?如果是这样,怎么样?

提前致谢。

1 个答案:

答案 0 :(得分:1)

是的,它的工作原理,地址,城市,州和邮政编码是为访问实例变量值而生成的方法。这是一个解释的例子

def address
    "address"
end

def city
    "city"
end

def state
    "state"
end

def zip
    "zip"
end

[address, city, state, zip].compact.join(', ') # => "address, city, state, zip"