2012-03-12 65 views
0

我試圖創建一個名爲full_address的自定義方法,它將地址,城市,州和zip列的值組合在一起。組合DB列值的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

是的,它的作品,地址,城市,州和拉鍊是生成訪問實例變量值的方法。這裏是一個例子來解釋

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"